【问题标题】:TIdText missing from Indy 10?Indy 10 中缺少 TIdText?
【发布时间】:2013-01-14 17:53:05
【问题描述】:

为了通过 GMail 发送电子邮件,我终于升级到 Indy 10。虽然我可以通过 GMail 发送简单的电子邮件,但我突然发现我发送 HTML 文本的复杂电子邮件程序不再编译 - 我缺少 TIdText 组件。

我搜索了我的电脑,没有 TIDMessage.pas 文件,虽然有一个今天的 dcu 文件。我正在使用 Delphi 7。

在哪里可以找到丢失的组件?

【问题讨论】:

  • 在我看来,您从未真正搜索过“缺失”类。您只搜索了一个文件名,并假设该文件包含您想要的内容。搜索文本很容易;不要让它妨碍你真正的意思。 grep -ri tidtext *
  • 或者使用 IDE 的 Search -> Find In Files。如果没有 grep 或 find-in-files 或 Notepad++ 的 find-in-files,我无法在 Delphi 中工作很长时间。拒绝搜索您的磁盘失败。

标签: delphi indy


【解决方案1】:

您使用的是什么版本的 Delphi?以及哪个版本(专业等)?

在我的机器上,有一个IdText.pas 文件位于 C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Indy\Indy10\Protocols\IdText.pas(我相信这是 Delphi 2010,我拥有专业许可证)。

【讨论】:

  • 我没有“协议”子目录。我正在使用 Delphi 7 Enterprise。
  • 自从您自己安装了 Indy 后,您拥有的 Delphi 并不重要。
  • 结构中的某处一个protocols目录,是的,有一个IdText文件!
  • 请不要在搜索硬盘时在 StackOverflow 上发布问题。
【解决方案2】:

您需要将IdText 单元添加到您的uses 子句中。在旧版本的 Indy 中,该单元不存在。在 Indy 10 中,这是一个新单元,现在包含 TIdText,它曾经住在 IdMessage

如果您还使用TIdAttachment,那么您将遇到同样的问题。这种情况下需要的单位是IdAttachment。以此类推。

【讨论】:

  • 我足够聪明,可以将 TIdAttachment 更改为 TIdAttachmentFile,这会有所帮助。
  • 大卫所说的也适用于TIdAttachmentFile。在 Indy 9 中,所有与 TIdMessage 相关的类都位于 IdMessage.pas 单元中。在 Indy 10 中,它们都被分成了各自的单元:IdMessageParts.pasIdText.pasIdAttachment.pasIdAttachmentFile.pasIdAttachmentMemory.pas 等。
猜你喜欢
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
相关资源
最近更新 更多