O
oushengfen
Unregistered / Unconfirmed
GUEST, unregistred user!
原来我的项目是在D7下开发的,现在升级到D2007下,怎么是用FTP显示目录时,出错错误。真奇怪。注编译时不出错误。我已经将错误处进行了标识。
procedure TFrmFtpTrans.DisplayRemoteFileList();
Var
LS: TStringList;
ICount : Integer;
newItem : TListItem;
begin
try
LS := TStringList.Create;
ListViewRemoteFile.Items.Clear; //清空远程文件列表
ListViewRemoteFile.Clear;
FTPClient.List(LS); //得到文件和目录列表
//ListViewRemoteFile.Items.Assign(LS);
//处理LS的每个项目
for ICount:=0 to LS.Count-1 do
begin
//是目录吗?
With FTPClient.DirectoryListing.Items[ICount] Do begin //这里出错。[!]
if ItemType = ditDirectory then
begin
//添加目录项目
newItem := ListViewRemoteFile.Items.Insert(0);
newItem.ImageIndex := 0; //图标序号
newItem.subItems.Add('文件夹');
end
else
begin
//添加文件项目
newItem := ListViewRemoteFile.Items.Add;
newItem.ImageIndex := 1; //图标序号
newItem.subItems.Add('');
end ;
newItem.Caption := FTPClient.DirectoryListing.Items[ICount].FileName; //文件名
newItem.subItems.Add(IntToStr(FTPClient.DirectoryListing.Items[ICount].Size)); //文件大小
newItem.subItems.Add(DateTimeToStr(FTPClient.DirectoryListing.Items[ICount].ModifiedDate)); //时间
end;
end;
finally
LS.Free; //释放TStringList
end;
end;
procedure TFrmFtpTrans.DisplayRemoteFileList();
Var
LS: TStringList;
ICount : Integer;
newItem : TListItem;
begin
try
LS := TStringList.Create;
ListViewRemoteFile.Items.Clear; //清空远程文件列表
ListViewRemoteFile.Clear;
FTPClient.List(LS); //得到文件和目录列表
//ListViewRemoteFile.Items.Assign(LS);
//处理LS的每个项目
for ICount:=0 to LS.Count-1 do
begin
//是目录吗?
With FTPClient.DirectoryListing.Items[ICount] Do begin //这里出错。[!]
if ItemType = ditDirectory then
begin
//添加目录项目
newItem := ListViewRemoteFile.Items.Insert(0);
newItem.ImageIndex := 0; //图标序号
newItem.subItems.Add('文件夹');
end
else
begin
//添加文件项目
newItem := ListViewRemoteFile.Items.Add;
newItem.ImageIndex := 1; //图标序号
newItem.subItems.Add('');
end ;
newItem.Caption := FTPClient.DirectoryListing.Items[ICount].FileName; //文件名
newItem.subItems.Add(IntToStr(FTPClient.DirectoryListing.Items[ICount].Size)); //文件大小
newItem.subItems.Add(DateTimeToStr(FTPClient.DirectoryListing.Items[ICount].ModifiedDate)); //时间
end;
end;
finally
LS.Free; //释放TStringList
end;
end;