1

如何使用 TIdyAttachment 发送附件?

如何将此TIdAttachment.Create(msg.MessageParts, 'c:\attach.bmp');delphi 语句转换为 c++ builder ?如何在 c++ builder 中使用这个抽象类?由于它是抽象的,我无法创建它的实例!!!

4

1 回答 1

5

请注意,这TIdAttachment确实是抽象的(正如 Remy Lebeau 在评论中指出的那样)。改为使用TIdAttachmentFile。在 C++ 中,我想它应该看起来像(更新:我看到你已经发现了):

TIdAttachmentFile *attachment = new TIdAttachmentFile(msg->MessageParts, "C:\\attach.bmp");

FWIW,像 Delphi 中的命名构造函数调用在 C++BuilderTMyClass.Create(args)中被翻译。new TMyClass(args)这就是为什么 Delphi 经常重载Create,而不是使用不同命名的构造函数,例如CreateWithSpecialParams. 在 Delphi 中,构造函数可以有任何名称,但在 C++ 中则不行。

请注意,在 Delphi 中,您可以有 aconstructor Create(Integer)和 aconstructor CreateEx(Integer)并且它们是可区分的。这不能转换为 C++Builder,因为两者都转换为MyClass(int),所以如果 Delphi 程序员希望他或她的类在 C++Builder 中可用,则应该避免这样做。

于 2011-08-25T10:37:41.357 回答