关于TIdFTP控件连接FTP服务器超时的问题(50分)

  • 主题发起人 主题发起人 煮草论酒
  • 开始时间 开始时间

煮草论酒

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TIdFTP控件编写的连接FTP服务器的程序,为什么当超时时就直接停止程序了,请帮我看看这个过程有什么问题,谢谢
procedure connect_ftp;
begin
try
if not Form1.IdFTP1.Connected then
Form1.IdFTP1.Connect(True,-1);
if Form1.IdFTP1.Connected then
begin
Form1.IdFTP1.Disconnect;
Form1.IdFTP1.Abort;
Form1.IdFTP1.Quit;
end;
except
on e:exception do
begin
showMessage(e.Message);
Form1.IdFTP1.Free;
end;
end;
end;
 
我刚学,实在是搞不懂,程序一超时就提示出错,并且停止了!
 
delphi自带demo/indy/FTPdemo下的代码:
ConnectButton.Enabled := false;
if IdFTP1.Connected then try
if TransferrignData then IdFTP1.Abort;
IdFTP1.Quit;
finally
//Panel3.Caption := 'Current directory is: ';
CurrentDirEdit.Text := '/';
DirectoryListBox.Items.Clear;
SetFunctionButtons(false);
ConnectButton.Caption := 'Connect';
ConnectButton.Enabled := true;
ConnectButton.Default := true;
end
else with IdFTP1 do try
User := UserIDEdit.Text;
Password := PasswordEdit.Text;
Host := FtpServerEdit.Text;
Connect;
Self.ChageDir(CurrentDirEdit.Text);
SetFunctionButtons(true);
SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST');
finally
ConnectButton.Enabled := true;
if Connected then begin
ConnectButton.Caption := 'Disconnect';
ConnectButton.Default := false;
end;
end;
 
后退
顶部