带有Indy FTP的SIGSEGV无法上传文件

时间:2013-12-26 00:17:47

标签: delphi ftp lazarus

我正在使用此代码,因为我必须在服务器上传文件:

procedure TForm1.Button6Click(Sender: TObject);
var
 IdFTP1:TIdFTP;
begin           
   IdFTP1.Create;
   IdFTP1.Host:=host;
   IdFTP1.Username:=user;
   IdFTP1.Password:=pass;
   IdFTP1.Passive:=True;

   try
    IdFTP1.Connect;
    IdFTP1.Put('C:\folderden\hash_rekt.bmp');
   finally
    IdFTP1.Disconnect;
   end;

  end;

我正在使用Lazarus 1.0.14,此代码没有错误。顺便说一句,当我点击上传该图片的按钮时,我有SIGSEGV错误。

你有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您没有正确创建IdFTP1对象。尝试这样的事情:

procedure TForm1.Button6Click(Sender: TObject);
var
  IdFTP1: TIdFTP;
begin
  IdFTP1 := TIdFTP.Create;
  try
    IdFTP1.Host := host;
    IdFTP1.Username := user;
    IdFTP1.Password := pass;
    IdFTP1.Passive := TRUE;

    IdFTP1.Connect;
    try
      IdFTP1.Put('C:\folderden\hash_rekt.bmp');
    finally
      IdFTP1.Disconnect;
    end;
  finally
    IdFTP1.Free;
  end;
end;