IdFTP找不到错误文件

时间:2017-10-06 20:27:26

标签: delphi delphi-7 indy

我创建了一个程序,每隔5秒从FTP服务器获取一个文件。

(我使用的是Delphi 7)

为此,我做了一个IdFTP数组。

一切看起来都不错,但是当文件不存在时,应用程序崩溃。

消息:项目FTPGETFIle.exe引发异常类EldProtocolReplyError,并显示消息'找不到文件'

从INI文件创建数组:

      IFTP[i] := TIdFTP.Create(nil);
      IFTP[i].Host := IniFile.hostn[i];
      IFTP[i].Username := IniFile.usern;
      IFTP[i].Password := IniFile.password;
      IFTP[i].Port := IniFile.FTPPort;
      IFTP[i].OnConnected := FTPConnect;
      IFTP[i].OnDisconnected := FTPDisconnect;
      IFTP[i].OnStatus := FTPStatus;
      IFTP[i].Passive := True;

获取文件计时器:

procedure TfrmMain.Timer1Timer(Sender: TObject);
var
  i : Integer;
begin
  for i := 1 to IniFile.nftp do
  begin
    if pingIP(IniFile.hostn[i]) then
    begin
      if IFTP[i].Connected then
      begin
        writelog ('Get file '+IniFile.FTPFile[i]+' and save to '+IniFile.OutputF[i]);
        try
          IFTP[i].Get (IniFile.FTPFile[i],IniFile.OutputF[i],true, false);
        except
          on E:EIdFileNotFound do
            writelog(E.Message);
          on E:EIdProtocolReplyError do
            writelog(E.Message);
          on E:Exception do
            writelog(e.Message);
        end;
      end;
    end
    else
      writelog(IniFile.hostn[i]+' is not recheable!');
  end;
end;

有人可以帮我处理这个"文件未找到"?

0 个答案:

没有答案