0

Web スペースにファイル .txt をアップロードしようとしていますが、問題が発生します。試したコードは次のとおりです。

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

procedure TForm1.Button1Click(Sender: TObject);
var
FTP:tidftp;
begin
FTP.Host:='website.altervista.org';
FTP.Username:='website';
FTP.Password:='password';
FTP.Port:=25;
FTP.Connect;
FTP.Put('C:\Users\user\Desktop\text.txt');
FTP.Quit;
end;

エラーは発生していませんが、プログラムを起動してボタンをクリックすると、エラーが発生します。

ここに画像の説明を入力

そしてすぐに別の:

ここに画像の説明を入力

とボタンが消えます。

なんで?ありがとう!

4

2 に答える 2

5

tidftp最初のインスタンスを作成する必要があります 。

var
FTP:tidftp;
begin
FTP:=Tidftp.Create(nil); //create the instance
try
  FTP.Host:='siteweb.altervista.org';
  FTP.Username:='siteweb';
  FTP.Password:='password';
  FTP.Port:=25;
  FTP.Connect;
  FTP.Put('C:\Users\user\Desktop\text.txt');
  FTP.Quit;
finally
  FTP.Free;
end;
end;
于 2012-06-20T19:19:31.650 に答える
5

アクセスする前にTIdFTP、ローカル変数のオブジェクトをインスタンス化する必要があります。FTPだからこれを使ってみてください:

procedure TForm1.Button1Click(Sender: TObject);
var
  FTP: TIdFTP;
begin
  FTP := TIdFTP.Create(nil);
  try
    FTP.Host := 'serioussamhd.altervista.org';
    FTP.Username := 'serioussamhd';
    FTP.Password := 'password';
    FTP.Port := 21;
    FTP.Connect;
    FTP.Put('C:\Users\user\Desktop\text.txt');
    FTP.Quit;
  finally
    FTP.Free;
  end;
end;
于 2012-06-20T19:20:33.510 に答える