Q&A

  • 업로드 다운로드 한프로그램내에서 같이 안되나요??
<!--CodeS-->
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdFTP;

type
  TForm1 = class(TForm)
    IdFTP1: TIdFTP;
    IdFTP2: TIdFTP;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure IdFTP1Connected(Sender: TObject);
    procedure IdFTP2Connected(Sender: TObject);
    procedure IdFTP2Disconnected(Sender: TObject);
    procedure IdFTP1Disconnected(Sender: TObject);
    procedure IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    procedure IdFTP2Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdFTP1.Connect();
  IdFTP1.Put('E:\영화\신돈.E53.4월09.SDTV.XViD-HODOLi.avi','신돈.avi',false);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  IdFTP2.Connect();
  IdFTP2.Get('/public_html/files/20060527.14s33m08s000ms.0.files','c:\a.files',false);
end;

procedure TForm1.IdFTP1Connected(Sender: TObject);
begin
  ShowMessage('1 connect');
end;

procedure TForm1.IdFTP2Connected(Sender: TObject);
begin
  ShowMessage('2 connect');
end;

procedure TForm1.IdFTP2Disconnected(Sender: TObject);
begin
  ShowMessage('2 disconnect');
end;

procedure TForm1.IdFTP1Disconnected(Sender: TObject);
begin
  ShowMessage('1 disconnect');
end;

procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  Application.ProcessMessages;
  Label1.Caption := IntToStr(AWorkCount);
end;

procedure TForm1.IdFTP2Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  Application.ProcessMessages;
  Label2.Caption := IntToStr(AWorkCount);
end;

end.
<!--CodeE-->

TidFTP 컴포넌트를 폼에 두 개 놓고..(업로드용으로 IdFTP1, 다운로드용 IdFTP2) 버튼1을 누르면 IdFTP1을 연결시켜 파일업로드하고 onWork이벤트를 사용해서 Label1에 업로드되고있는 양을 표시.. 버튼 2을 누르면 IdFTP2를 연결시켜 파일다운로드, 마찬가지로 onWork이벤트 사용해서 Label2에 다운로드 되고있는 양을 표시를 의도했는데...

버튼1을 누르면 잘 되는데.. 버튼 2를 누르니깐.. IdFTP1 전송량이 멈춰버리네요...
한 프로그램내에서 업로드도.. 그리고 다운로드도 같이 할려면 어떻게 해야줘??
0  COMMENTS