Idftp控件下载功能报错"list out of bounds(0)"
procedure TKAIKAIMAIN.xiazai(ftplj,bdlj:string);
var
strnowdir,FileName : string; // FileName,name,
Dir_List:TStringList;
i: Integer;
begin
i:=0;
try
strnowdir:=ftplj;
if idftp1.RetrieveCurrentDir<>'\' then
begin
IdFTP1.ChangeDirUp;
IdFTP1.ChangeDirUp;
IdFTP1.ChangeDirUp;
end;
IdFTP1.ChangeDir(strnowdir);
Dir_List:=TStringList.Create;
idftp1.List(Dir_List);
IDFTP1.TransferType:=ftBinary;
if Dir_List.Count=0 then Exit;
//判断是否是目录
if (IdFTP1.DirectoryListing.Items[i].ItemType = ditDirectory ) then
begin
IdFTP1.ChangeDir(strnowdir);
end;
for i:=0 to Dir_List.Count-1 do
begin
FileName:=IdFTP1.DirectoryListing.Items[i].FileName;
showmessage(FileName);
if (IdFTP1.DirectoryListing.Items[i].ItemType = ditFile) then
//本地若存在文件,判断下载后是否覆盖本地文件 // and (IdFTP1.DirectoryListing.Items[i].ModifiedDate > StrToDate('2011-3-19'))
begin
if FileExists(bdlj+IdFTP1.DirectoryListing.Items[i].FileName) then
begin
//ShowMessage('文件己下载');
Continue;
end
else
begin
IdFTP1.Get(IdFTP1.DirectoryListing.Items[i].FileName,bdlj+IdFTP1.DirectoryListing.Items[i].FileName,False,true);
end;
end ;
end;
// showmessage(ftplj+'下载成功');
Dir_List.Free;
except
;
end;
end;
每次执行到IdFTP1.DirectoryListing.Items[i].ItemType = ditDirectory 就报出这个异常