TNMFTP download File 時如果斷線如何處理? |
答題得分者是:andychang1690
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
建議你處理下列NMFTP1Error事件及NMFTP1Failure事件 void __fastcall TFormMain::NMFTP1Error(TComponent *Sender, WORD Errno, AnsiString Errmsg) { ShowMessage("Error " IntToStr(Errno) ": " Errmsg); } //--------------------------------------------------------------------------- void __fastcall TFormMain::NMFTP1Failure(bool &handled, TCmdType Trans_Type) { switch (Trans_Type) { case cmdChangeDir: StatusBar1->SimpleText = "ChangeDir failure"; break; case cmdMakeDir: StatusBar1->SimpleText = "MakeDir failure"; break; case cmdDelete: StatusBar1->SimpleText = "Delete failure"; break; case cmdRemoveDir: StatusBar1->SimpleText = "RemoveDir failure"; break; case cmdList: StatusBar1->SimpleText = "List failure"; break; case cmdRename: StatusBar1->SimpleText = "Rename failure"; break; case cmdUpRestore: StatusBar1->SimpleText = "UploadRestore failure"; break; case cmdDownRestore: StatusBar1->SimpleText = "DownloadRestore failure"; break; case cmdDownload: StatusBar1->SimpleText = "Download failure"; break; case cmdUpload: StatusBar1->SimpleText = "Upload failure"; break; case cmdAppend: StatusBar1->SimpleText = "UploadAppend failure"; break; case cmdReInit: StatusBar1->SimpleText = "ReInit failure"; break; case cmdAllocate: StatusBar1->SimpleText = "Allocate failure"; break; case cmdNList: StatusBar1->SimpleText = "NList failure"; break; case cmdDoCommand: StatusBar1->SimpleText = "DoCommand failure"; break; default: ShowMessage("Unrecognized command failed."); break; } } 請參考Andy Chang
------
Andy Chang |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
試試於.hpp檔加入 public: // User declarations __fastcall TFormMain(TComponent* Owner); void __fastcall HandleExceptions(TObject *Sender, Exception *E); .cpp檔 void __fastcall TFormMain::FormCreate(TObject *Sender) { // 設定exception handler.自定義異常處理窗口 Application->OnException = HandleExceptions; } void __fastcall TFormMain::HandleExceptions(TObject *Sender, Exception *E) { if (E->Message.Length()) { Screen->Cursor = crArrow; AnsiString errorstr="應用程序發生了錯誤.\n" E->Message; Application->MessageBox(errorstr.c_str(),"發生異常",MB_OK); } } 你應該可以攔到Connection Fail 的對話框並決定程式走向。Andy Chang
------
Andy Chang |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
可以再請教一下嗎?
假設程式如下, 執行ftp 指令,且攔截到" Connection Fail 對話框
如何使程式繼續命令3, 命令4 ? void _fastcall TForm1::Timer11Timer(TObject *Sender)
{
命令1;
命令2;
FTP指令;
命令3;
命令4; } void __fastcall TFormMain::HandleExceptions(TObject *Sender, Exception *E)
{
if (E->Message.Length())
{
Screen->Cursor = crArrow;
AnsiString errorstr="應用程序發生了錯誤.\n" E->Message;
Application->MessageBox(errorstr.c_str(),"發生異常",MB_OK);
}
}
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |