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

IdFTP1->List(s,"*.*",true) 錯誤無法列出檔案資訊

答題得分者是:RaynorPao
renth555
一般會員


發表:32
回覆:65
積分:19
註冊:2003-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-13 14:11:20 IP:61.56.xxx.xxx 未訂閱
請各為前輩幫我看一下 小的測試這段程式碼 當我按 Buttom3Click 時就會發生錯誤 不知是那裡有問題    
    //---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  //
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  IdFTP1->Username="test";
  IdFTP1->Password="test1234";
  IdFTP1->Host="192.168.123.10";
  IdFTP1->Port=21;
  //IdFTP1->Passive=true;
  IdFTP1->TransferType=ftBinary;
  IdFTP1->Connect(true,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  IdFTP1->Disconnect(); //中斷連線
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  TStringList *s = new TStringList();
  IdFTP1->List(s,"*.*",true);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1Connected(TObject *Sender)
{
  ShowMessage(IntToStr(IdFTP1->Connected()));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1Disconnected(TObject *Sender)
{
  ShowMessage(IntToStr(IdFTP1->Connected()));
}
//---------------------------------------------------------------------------    
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-13 21:21:18 IP:61.221.xxx.xxx 未訂閱
引言: 請各為前輩幫我看一下 小的測試這段程式碼 當我按 Buttom3Click 時就會發生錯誤 不知是那裡有問題
    //---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  //
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  IdFTP1->Username="test";
  IdFTP1->Password="test1234";
  IdFTP1->Host="192.168.123.10";
  IdFTP1->Port=21;
  //IdFTP1->Passive=true;
  IdFTP1->TransferType=ftBinary;
  IdFTP1->Connect(true,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  IdFTP1->Disconnect(); //中斷連線
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  TStringList *s = new TStringList();
  IdFTP1->List(s,"*.*",true);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1Connected(TObject *Sender)
{
  ShowMessage(IntToStr(IdFTP1->Connected()));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1Disconnected(TObject *Sender)
{
  ShowMessage(IntToStr(IdFTP1->Connected()));
}
//---------------------------------------------------------------------------    
renth555 你好:
(1)請問?? 你所說的錯誤是不是這個呢「Connection Closed Gracefully」??
   如果是的話,應該是在 BCB IDE 裡面執行你的程式才會有這個 exception
   的,按「F9」繼續執行即可,在 BCB 以外的環境,從檔案總管執行你的 exe
   應該就不會有這個問題了,原因是因為 Indy 元件 throw 這個 exception
   ,而 BCB IDE 預設會 catch 所有的 exception,才會造成這個結果
(2)有關 IdFTP 元件的使用,請參考以下的範例程式碼
   >Host="192.168.1.2">Username="Username";
   IdFTP1->Password="Password";
   IdFTP1->Connect(true, 3000);
   TStringList *sl=new TStringList;
   IdFTP1->List(sl, "*", true);
   sl->SaveToFile("ftplist.txt");
   delete sl;
   IdFTP1->Noop();
   IdFTP1->Disconnect();
備註: 測試環境: Windows 2000 Server SP3, BCB 6.0 Update 4, Indy 9.0.13 -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
renth555
一般會員


發表:32
回覆:65
積分:19
註冊:2003-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-14 00:02:57 IP:61.56.xxx.xxx 未訂閱
RaynorPao 板主你說的沒錯確實是這問題 請問版主這樣是不是測試時都要執行 exe 檔呢 今天去找 indy 相關書去卻找不到 BCB 書籍太少了 對初學者真是痛苦板主有相關 bcb indy FTP 語法文件可供學習嗎 請問版主 IdFTP1->Connect(true, 3000); ----->3000 意思 IdFTP1->Noop();------------------> Noop() 不懂語法 謝謝版主
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-14 09:08:00 IP:203.73.xxx.xxx 未訂閱
引言: RaynorPao 板主你說的沒錯確實是這問題 請問版主這樣是不是測試時都要執行 exe 檔呢 今天去找 indy 相關書去卻找不到 BCB 書籍太少了 對初學者真是痛苦板主有相關 bcb indy FTP 語法文件可供學習嗎 請問版主 IdFTP1->Connect(true, 3000); ----->3000 意思 IdFTP1->Noop();------------------> Noop() 不懂語法 謝謝版主
renth555 你好:
(1)我記得好像可以從 Tools/Debugger Options 去做修改,決定要不要攔截某
   些 exception,可是那個方法小弟我已經忘記怎麼設定了,所以現在也
   是直接執行 >>>    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
renth555
一般會員


發表:32
回覆:65
積分:19
註冊:2003-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-14 14:47:10 IP:61.56.xxx.xxx 未訂閱
謝謝 RaynorPao
系統時間:2024-05-08 0:10:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!