全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3036
推到 Plurk!
推到 Facebook!

Indy 10.1.1 TIdAttachment用於idSMTP/idMessage無法掛附件

答題得分者是:GrandRURU
Roach
中階會員


發表:59
回覆:104
積分:97
註冊:2002-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-03-27 22:25:26 IP:61.216.xxx.xxx 訂閱
各位先進, 小弟已經悶兩個禮拜 Ktop與Google了
一樣的code先前在BCB50 可以work, 環境換到BCB 2010後變成 Indy.Sockets version 10.1.1.
底下原本Indy 9.0的code已經不能用
我目的要透過idSMTP send 有附件的email


[code cpp]
請在此區域輸入程式碼
IdMessage1->MessageParts->Add();
TIdAttachment *IdAttach=new TIdAttachment(IdMessage1->MessageParts, "C:\\Finish.log");
[/code]

上面這兩行去除掉就可以正常發email, 已經爬過先前的文章, Delphi 的Create方式在BCB我也不知道怎麼用,請有經驗的先進不吝幫個忙
error message如下


[BCC32 Error] Unit1.cpp(64): E2352 Cannot create instance of abstract class 'TIdAttachment'
Full parser context
Unit1.cpp(38): parsing: void _fastcall TForm1::Button1Click(TObject *)
[BCC32 Error] Unit1.cpp(64): E2353 Class 'TIdAttachment' is abstract because of '_fastcall TIdAttachment::OpenLoadStream() = 0'
Full parser context
Unit1.cpp(38): parsing: void _fastcall TForm1::Button1Click(TObject *)


編輯記錄
Roach 重新編輯於 2011-03-27 08:26:35, 註解 無‧
Roach 重新編輯於 2011-03-27 08:27:45, 註解 無‧
GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-03-28 07:45:53 IP:61.219.xxx.xxx 未訂閱
TIdAttachment改成TIdAttachmentFile試試看

===================引 用 Roach 文 章===================
各位先進, 小弟已經悶兩個禮拜 Ktop與Google了
一樣的code先前在BCB50 可以work, 環境換到BCB 2010後變成 Indy.Sockets version 10.1.1.
底下原本Indy 9.0的code已經不能用
我目的要透過idSMTP send 有附件的email
...43...
Roach
中階會員


發表:59
回覆:104
積分:97
註冊:2002-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-03-28 09:24:41 IP:59.124.xxx.xxx 訂閱
謝謝Grand大回覆
TIdAttachment改成TIdAttachmentFile我有測試過一樣不行椰
在 new TIdAttachmentFile(IdMessage1->MessageParts, "C:\\Finish.log"); 的時候就error了
Indy10比起9確實很有很多不同之處,不過東西通常是越改越好用,只是目前的資源太少

GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-03-28 20:02:00 IP:111.249.xxx.xxx 未訂閱
老大…
你有沒有「#include "IdAttachmentFile.hpp"」?


===================引 用 Roach 文 章===================
謝謝Grand大回覆
TIdAttachment改成TIdAttachmentFile我有測試過一樣不行椰
在 new TIdAttachmentFile(IdMessage1->MessageParts,"C:\\Finish.log"); 的時候就error了
Indy10比起9確實很有很多不同之處,不過東西通常是越改越好用,只是目前的資源太少

Roach
中階會員


發表:59
回覆:104
積分:97
註冊:2002-11-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2011-03-28 20:37:44 IP:59.124.xxx.xxx 訂閱
對不起我錯了!
原先使用TidAttachment的時候並沒有include hpp, Ctrl 滑鼠左鍵會自動跳到 idAttachment.hpp (應該是拉idMessage的時候包進來的),help 的see also顯示idAttachmentFile繼承自idAttachment , 隨手測試的時候沒有include到,help也沒說要include (我BC5.0裝的indy連idAttachment.hpp的檔案都沒有)
剛看到Grand大的回覆時我還抓抓頭心想"怎麼可能是沒include"

系統時間:2017-12-15 16:25:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!