Einzelnen Beitrag anzeigen

alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#1

idftp beim auslesen von Platte Fehler Timout

  Alt 27. Mär 2017, 10:28
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))) = '.mp3then
                    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ß

Geändert von alfold (27. Mär 2017 um 13:02 Uhr)
  Mit Zitat antworten Zitat