發送附件如何使用TIdyAttachment發送附件?在C使用TIdAttachment ++ Builder的
如何轉換這種TIdAttachment.Create(msg.MessageParts, 'c:\attach.bmp');
德爾福聲明,C++ Builder的? 如何在C++ builder中使用這個抽象類?由於它是抽象的,我不能創建它的一個實例!
發送附件如何使用TIdyAttachment發送附件?在C使用TIdAttachment ++ Builder的
如何轉換這種TIdAttachment.Create(msg.MessageParts, 'c:\attach.bmp');
德爾福聲明,C++ Builder的? 如何在C++ builder中使用這個抽象類?由於它是抽象的,我不能創建它的一個實例!
注意TIdAttachment
確實是抽象的(如雷米勒博在註釋中說明)。改爲使用TIdAttachmentFile
。在C++中,我想它應該像(更新:我看你已經發現):
TIdAttachmentFile *attachment = new TIdAttachmentFile(msg->MessageParts, "C:\\attach.bmp");
FWIW,命名爲構造函數調用像德爾福TMyClass.Create(args)
被翻譯爲C++ Builder中new TMyClass(args)
。這就是爲什麼德爾福經常重載Create
,而不是使用不同名稱的構造函數,如CreateWithSpecialParams
。在Delphi中,構造函數可以有任何名稱,但不能用C++。
請注意,在德爾福你可以有一個constructor Create(Integer)
和constructor CreateEx(Integer)
,他們是可區分的。這不是平移,以C++ Builder中,因爲既轉化爲MyClass(int)
,這樣算下來,如果Delphi程序員希望他或她的班級是使用C++ Builder中應該避免。
實際上,在Indy 10中,'TIdAttachment' *是一個抽象類。您必須改用'TIdAttachmentFile'。 –
@雷米:好的,謝謝,我會編輯答案。 –
正確的語法是味精 - > MessageParts – Riho
真的很容易比它!只需編寫TIdAttachmentFile(mess-> MessageParts,「c:\\ pic.jpg」);'這就完成了Suhrob! –