首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi FTP上传访问冲突

问Delphi FTP上传访问冲突
EN

Stack Overflow用户
提问于 2012-06-21 03:16:26
回答 2查看 1.8K关注 0票数 0

我试图在我的web空间上传一个文件.txt,但是问题开始了,我尝试的代码是这样的:

代码语言:javascript
复制
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;

我没有得到任何错误,但当我启动程序并单击按钮时,我得到了一个错误:

​

​

紧随其后的是:

​

​

按钮就消失了。

为什么?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-21 03:20:34

在访问局部变量FTP之前,必须实例化它的TIdFTP对象。所以试着使用这个:

代码语言:javascript
复制
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;
票数 5
EN

Stack Overflow用户

发布于 2012-06-21 03:19:32

您必须先创建tidftp的实例。

代码语言:javascript
复制
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;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11126607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档