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

簡易的FTP與多重連接問題

缺席
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-01 08:32:44 IP:211.75.xxx.xxx 未訂閱
請教各位先進,以下是FTP CODE 很簡易的只傳送單一檔案,可是卻無法連上FTP SERVER 帳號密碼對了以後就產生斷線,對方SERVER 是有支援多重連接的 是否我忘了設定哪些選項
 
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdFTP, StdCtrls, Buttons, ComCtrls, Gauges;    type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    IdFTP1: TIdFTP;
    Memo1: TMemo;
    OpenDialog1: TOpenDialog;
    BitBtn1: TBitBtn;
    Gauge1: TGauge;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    procedure IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCountMax: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);    begin
  idFTP1.Username := Edit4.Text;
  idFTP1.Password := Edit5.Text;
  idFTP1.Port := StrToInt(Edit3.Text);
  //idFTP1.Port := 21;
  idFTP1.Host := Edit2.Text;
  Edit1.Enabled:=False;
  Button1.Enabled:=False;
  try
  idFTP1.Connect(true,3000);
    try
      idFTP1.Put(OpenDialog1.FileName,ExtractFileName(OpenDialog1.FileName),false);
      idFTP1.disconnect;
      Memo1.Lines.Add(ExtractFileName(OpenDialog1.FileName) '傳送完成。');
      Button1.Enabled:=True;
    except
      Memo1.Lines.Add('檔案名稱錯誤。');
    end;
  except
   Memo1.Lines.Add('連線錯誤');
  end;
end;    procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
end;    procedure TForm1.BitBtn1Click(Sender: TObject);
begin
    OpenDialog1.FileName:=Edit1.Text;
    If OpenDialog1.Execute then
        Edit1.Text:=OpenDialog1.FileName;
    Edit1.Enabled:=True;
end;    procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  Gauge1.Progress:= AWorkCount;
end;    procedure TForm1.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  Gauge1.MaxValue:=AWorkCountMax;
end;    end.
分享比獲得更快樂--Juneo
James
高階會員


發表:10
回覆:290
積分:220
註冊:2002-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-01 10:05:44 IP:61.218.xxx.xxx 未訂閱
不知道您的錯誤訊息, 或者你可以試試看更改 IdFTP 元件的 Passive 屬性, 有些時候可能因為有些通訊設備不支援的問題 , 所以您可以試試看是否更改 之後有幫助 !!!
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-01 15:52:56 IP:211.75.xxx.xxx 未訂閱
James 感謝你的回答,不過我更改屬性後仍然無法解決 編譯過程中無任何錯誤訊息,我也將該程式放到會員程式求助區 之前可以連接後來SERVER程式改為多重連接之後就無法以此程式連接FTP SERVER 不知道是否跟FTP SERVER 轉PORT有關?持續測試中 分享比獲得更快樂--Juneo
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-04 08:58:37 IP:211.20.xxx.xxx 未訂閱
經過兩三天的測試 小弟還沒有具體有效的辦法 暫時先丟著了 >"< 分享比獲得更快樂--Juneo
系統時間:2024-07-05 14:30:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!