L
linda0606
Unregistered / Unconfirmed
GUEST, unregistred user!
Tidftp 在多个线程时,每一个线程使用Tidftp下载一个文件时,某一个线程停止,捕捉不到错误,其他线程还在继续
在onstatus事件中,查看信息 在" Starting FTP transfer"后,就不再下载了。
在连接时,已经设置了 connect(true,2200)
这个问题与多线程有关,还是无关。
是不是在GET的时候,出现问题了,有没有超时设置的问题
另外,开始疯狂占用内存,同时CPU占用率一直100%,不能完全退出程序,即仍在进程列表中显示。只能结束进程!!
各位老大,指点一下吧,我不想放弃使用INDY FTP!!!
后来改用了
相关代码如下:
with IdFTP do
begin
try
if Connected then
Disconnect; //重新连接
Username := sName;
Password := sPass;
Host := sHost;
Port := StrToInt(sPort);
Connect(true,2200); //请问这个超时设多少为最佳?
except
on e:exception do
begin
memo2.Lines.Add('线程' + inttostr(threadno) + '连接状态:'+e.Message);
idftp.Abort;
result := false;
exit;
end;
end;
try
ChangeDir(sDir); //改变目录
downfilesizei[threadno] := Size(aFile);
if bResume then //续传
IdFTP.Get(afile, sfile, false, true)
else
IdFTP.Get(afile, sfile, true);
except
on e:exception do
begin
memo2.Lines.Add('线程' + inttostr(threadno) + '下载状态:'+e.Message);
idftp.Abort;
result := false;
exit;
end;
end;
end; //end with
在onstatus事件中,查看信息 在" Starting FTP transfer"后,就不再下载了。
在连接时,已经设置了 connect(true,2200)
这个问题与多线程有关,还是无关。
是不是在GET的时候,出现问题了,有没有超时设置的问题
另外,开始疯狂占用内存,同时CPU占用率一直100%,不能完全退出程序,即仍在进程列表中显示。只能结束进程!!
各位老大,指点一下吧,我不想放弃使用INDY FTP!!!
后来改用了
相关代码如下:
with IdFTP do
begin
try
if Connected then
Disconnect; //重新连接
Username := sName;
Password := sPass;
Host := sHost;
Port := StrToInt(sPort);
Connect(true,2200); //请问这个超时设多少为最佳?
except
on e:exception do
begin
memo2.Lines.Add('线程' + inttostr(threadno) + '连接状态:'+e.Message);
idftp.Abort;
result := false;
exit;
end;
end;
try
ChangeDir(sDir); //改变目录
downfilesizei[threadno] := Size(aFile);
if bResume then //续传
IdFTP.Get(afile, sfile, false, true)
else
IdFTP.Get(afile, sfile, true);
except
on e:exception do
begin
memo2.Lines.Add('线程' + inttostr(threadno) + '下载状态:'+e.Message);
idftp.Abort;
result := false;
exit;
end;
end;
end; //end with