在c ++ builder中使用TIdAttachment发送附件

时间:2011-08-25 08:02:43

标签: delphi c++builder indy indy10

如何使用TIdyAttachment发送附件?

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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