Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   idftp beim auslesen von Platte Fehler Timout (https://www.delphipraxis.net/192184-idftp-beim-auslesen-von-platte-fehler-timout.html)

alfold 27. Mär 2017 10:28


idftp beim auslesen von Platte Fehler Timout
 
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:glaskugel:
Mh, keine Ahnung warum davor nicht!!!!

Damit hatt sich die Anfrage erledigt!!!!
Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz