还是FTP问题(20分)

  • 主题发起人 主题发起人 大力水牛
  • 开始时间 开始时间

大力水牛

Unregistered / Unconfirmed
GUEST, unregistred user!
我用NMFTP做的FTP有点问题,大家帮我看看:
我的FTP要传达室输多个文件,所以用的是循环,运行时没问题,但当我NMFTP1.Disconnect时,如果正在DOWNLOAD OR UPLOAD OR LIST ,就会出现
Project MainProject.exe raised exception class ERangeError with message 'Range check error'.Process stopped.Use Step or Run to continue.
的错误提示,指向DOWNLOAD() OR UPLOAD() OR LIST 处。
有时出现
Project MainProject.exe raised ecxeption class EAccessViolation with message 'Access violation at address 00457A5A in module 'MainProject.exe'. Read of address 000002EC'.Process stopped.Use Step or Run to continue.
的错误提示,均指向该处
用try NMFTP1.Abort ; 也不行。怎么解决?谢谢了,各位大哥!
 
用nmftp传输多个文件,我想应该这样:先传第一个文件,然后在NMFTP控件的传送成功事件中
再继续传送下一个.
强烈建议您改用IDFTP,要方便得多
 
TO loxtln
IDFTP 是不是IndyFtp?
 
就是!
给你一个简单的例子:
procedure TForm1.Button1Click(Sender: TObject);
var list:tstringlist;
begin
idftp1.Host :='xxx.xx.xx.x';
idftp1.User :='xx';
idftp1.Password:='xx';
idftp1.Connect(true);

list:=tstringlist.Create ;
try
idftp1.List(list,'35t.txt',false);
if list.IndexOf('35t.txt')>=0 then
idftp1.Get('35t.txt','d:/a.txt',true)
else showmessage('远程服务器没有此文件!');
finally
list.Free ;
end;


end;

 
谢谢你,loxtln,请接分
 
后退
顶部