1

我正在尝试使用 idFTP 组件上传文件,并定义了我可以看到的基本属性:

  FTPClient.Host  := tblFtpFTPHost.AsString;
  FTPClient.Username := tblFTPUsername.AsString;
  FTPClient.Password := tblFTPPassword.AsString;
  FTPClient.Port     := tblFTPPort.AsInteger;

但是,当我运行命令时 -

  FTPClient.Connect;

它将失败并显示以下错误消息:

  Project Uploader.exe raised exception class EIdPortRequired with message ''.

我没有向正确的属性提供信息吗?我需要表单上的另一个组件来允许我上传文件吗?

我目前使用 Delphi XE 作为我的 IDE。

谢谢。

4

1 回答 1

2

看来您的端口值是 0。这是 Indy 抛出此异常的唯一地方:

procedure TIdTCPClientCustom.Connect;
begin
  // Do not call Connected here, it will call CheckDisconnect
  if Connected then begin
    EIdAlreadyConnected.Toss(RSAlreadyConnected);
  end;

  if Host = '' then begin
    EIdHostRequired.Toss('');
  end;
  if Port = 0 then begin
    EIdPortRequired.Toss('');
  end;
 ...

请检查端口值是否不为 0。

于 2012-05-10T16:29:21.427 回答