Hi, der Titel sagt es ja schon.
Info dazu:
D7 /
Indy 9,
Festplatte hängt an einer Fritzbox7150.
Habe es auch mit anderen Komponenten versucht, der selbe Fehler!
Ich kann, einzelne Ordner korrekt auslesen wenn sie nicht zuviel Dateien haben!
Ansonsten hängt sich das ganze bei ca 200 Dateien, bischen mehr oder weniger, egal aus welchem Ordner ich beginne mit Timout auf.
Bis dahin dauert das auslesen ca 10-12 sek.
Hier mal das Auslesen
Delphi-Quellcode:
procedure TForm1.GetFtpFileList(
ftp: TIdFTP; rootFolder:
String; FileList: TStringList);
var
i: Integer;
FName:
String;
tmpstrg:
String;
begin
if ftp.Connected
then
begin
Form1.Repaint;
try
ftp.ChangeDir('
/' + rootFolder);
ftp.List(
Nil, '
', True);
for i:= 0
to ftp.DirectoryListing.Count -1
do
begin
FName:=
ftp.DirectoryListing.Items[i].FileName;
if ftp.DirectoryListing.Items[i].ItemType = ditDirectory
then
begin // hold new folder
Label1.Caption:= rootFolder + '
/' + FName;
getFtpFileList(
ftp, rootFolder + '
/' + FName, FileList);
end
else
if ftp.DirectoryListing.Items[i].ItemType = ditFile
then
begin // add Filename to list
if StrLower(PChar(ExtractFileExt(FName))) = '
.mp3'
then
begin
tmpstrg := StringReplace(rootFolder, '
/', '
\', [rfReplaceAll]);
// rootFolder:= StringReplace(rootFolder, '/', '\', [rfReplaceAll]);
lst1.Items.Add(tmpstrg+ '
\' + FName);
FillLists(TList, tmpstrg, '
\' + FName);
end;
end;
end;
Form1.Caption:= '
suche Titel: ' + IntToStr(FileList.Count) + '
Titel gefunden';
ftp.ChangeDirUp;
ftp.List(
Nil, '
', True);
except
//wird später benutzt!!!
end;
end;
end;
Würde mich freuen wenn jemand versucht mal meine Festplatte auszulesen, um es zu testen ob es evtl an der Fritzbox liegt oder an mein Prog!
EDIT:
Hab nur das PW geändert nun macht er alles
Mh, keine Ahnung warum davor nicht!!!!
Damit hatt sich die Anfrage erledigt!!!!
Gruß