startbar ist es nun
aber nun hängt er in einer endlosscheife fest.
ich glaube die änderungen sind nicht richtungsweisend, da in posting #5, eigentlich von beginn an alles funktionierte.
showmessage hinzugefügt, um zu testen: die 2 showmessage's werden immer wieder aufgerufen...
Delphi-Quellcode:
procedure ListDir(dir: String; const tv: TTreeView; tn: TTreeNode);
var
itm: TIdFTPListItems;
i: Integer;
node: TTreeNode;
tmp: string;
begin
Form1.ftp.ChangeDir(dir);
Form1.ftp.List;
itm := Form1.ftp.DirectoryListing;
for i := 0 to itm.count-1 do begin
showmessage(InttoStr(itm.count-1)); // Showmessage
if itm.Items[i].ItemType = ditDirectory then begin
if (itm.Items[i].Filename <> '.') or (itm.Items[i].Filename <> '0') then begin
node := tv.Items.AddChild(tn, itm.Items[i].Filename);
showmessage(itm.Items[i].Filename + ' / L: ' + IntToStr(Length(itm.Items[i].Filename))); // Showmessage
listdir(itm.items[i].filename, tv, node);
Form1.ftp.ChangeDirUp;
Form1.ftp.list;
itm := Form1.ftp.DirectoryListing;
end;
end
else
form1.treeview1.Items.addChild(tn, itm.Items[i].filename+' ['+inttostr(itm.items[i].size)+']');
end;
end;