![]() |
AV bei FindNext
Hey ho!
Ich habe hier folgenden Code:
Delphi-Quellcode:
Wobei hier bitte nicht darum gestritten wird warum die Funktion getdirs heist, ich aber alle Dateien abfrage, das ändere ich später.
function getdirs(pfad: string): TStrings;
var search: TSearchRec; begin if FindFirst(pfad, faAnyFile, search)=0 then begin repeat Result.Add(search.Name); Showmessage(search.Name); until FindNext(search)<>0; end; end; procedure TForm1.Button1Click(Sender: TObject); begin getdirs('Y:\*.*'); end; Mein Problem hier ist, diese Funktion klappt halbwegs. FindFirst wird erfolgreich aufgerufen, FindNext dann auch, das 2. mal Findnext auch, nur beim dritten mal (komischerweise immer das dritte Mal, egal welchen Ordner ich zum Aufruf benutze) bekomme ich ne AV. Woher kommt die, bzw. wie bekomme ich die weg? :wall: Ich wäre für Lösungen sehr dankbar! Flare |
Re: AV bei FindNext
Hi!
Es wundert mich eigentlich mehr, daß es schon beim ersten Mal funktioniert. Ich vermisse die Zeile, in der die Result-Stringliste erzeugt wird. Zudem verwirfst du beim Aufruf der Funktion deren Rückgabewert. Es wäre vielleicht besser, der Funktion eine vorbereitete Stringliste zu übergeben und die Funktion in eine Prozedur umzuwandeln. Noch eine Anmerkung: einen FindClose-Aufruf solltest du noch einbauen. Gruß Hawkeye |
Re: AV bei FindNext
Gut, ich habe in der zwischenzeit das ganze als Prozedur gebaut, was das in eine vorhandene Liste (wie du sagtest) direkt einbaut. Und dass man eine Stringlist erst erzeugen muss ist mir neu, ich arbeite sonst immer mit ListBoxen, die scheinen das ja selber zu machen :angel2:
Danke! Problem gelöst! :thumb: Flare |
Re: AV bei FindNext
jop, auch ein Memo erzeugt die stringliste selbst. Denn ein memo ohne strings wäre irgendwie - witzlos. Ansonsten musst du das aber natürlich selbst erzeugen und auch wieder freigeben, wenn du damit fertig bist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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