![]() |
Probleme bzw. Fehlermelung bei FindFirst
Moin Leute,
ich will aus einem lokalem verzeichnis per FTP auf einen server tranferieren. Die datein .doc, .txt, .jpg sind alle lokal in einem verzeichnis. Auf dem server wechsel ich mit changeDir das zielverzeichnis. Wenn ich meine FindFirst routine 3x hintereinander aufrufe funktioniert alles. Weil aber 3x das gleich blöd ist habe ich eine procedur geschrieben
Delphi-Quellcode:
Nun stelle ich meine verbindung zum server her, rufe pFind(); auf und übertrage eine *.doc datei
procedure TFormFtp.pFind();
var SearchRec: TSearchRec; i: integer; s: string; begin i := FindFirst((Form1.EditTempStore.Text) + LabelExtension.Caption, faAnyFile, SearchRec); // LabelExtension.Caption = versch. Endung (doc, txt...) while i = 0 do begin ListBoxFtp.Items.Add(SearchRec.Name); i := FindNext(SearchRec); end; FindClose(SearchRec); begin for i := 0 to ListBoxFtp.Items.Count -1 do begin s := ListBoxFtp.Items[i]; IdFTP.Put((Form1.EditTempStore.Text) + s, s); ListBoxFtp.Items[i] := ''; ListBoxFtp.clear; end; end; end; verzeichnis wechsel aufm server, aufruf pFind(); und übertrage eine *.txt datei Bis hierher alles Super. Nun, verzeichnis wechsel aufm server, aufruf pFind(); und übertrage eine *.jpg datei funzt auch noch ABER: wenn es mehrere *.jpg datein sind kommt folgener Fehler: ...eine Exception der klasse EStringListRrror aufgetrten Listenindex überschreitet das maximum(1) Wo ist mein Fehler? |
Re: Probleme bzw. Fehlermelung bei FindFirst
Delphi-Quellcode:
Annahme 3 Items sind in der Listbox. Bei einer for-Schleife wird vor dem Schleifendurchlauf festglegt, wie oft sie durchlaufen wird. Hier also dreimal. Ok, was passiert jetzt? Er geht die Schleife zum ersten mal durch. Alles klar geht. Nur am Ende der Schleife leerst du die Listbox, so dass er beim zweiten und dritten mal auf nicht vorhandene Items der Listbox zugreifen will. Und das macht er natürlich nicht mit. Ergo, lösch den Inhalt der Listbox einfach nicht.
for i := 0 to ListBoxFtp.Items.Count -1 do
begin s := ListBoxFtp.Items[i]; IdFTP.Put((Form1.EditTempStore.Text) + s, s); ListBoxFtp.Items[i] := ''; ListBoxFtp.clear; end; |
Re: Probleme bzw. Fehlermelung bei FindFirst
Hi Luckie,
nee, is klar: :wall: Trivialer Fehler, aber ich hab x- mal düberweg gesehn. Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz