Jetzt muss ich doch noch einmal melden. Ich habe mir das Beispiel hier
Delphi-Quellcode:
procedure FindAllFiles(const FileList: tstrings;RootFolder: string; Maske: array of string; Recurse: Boolean = True);
var
SR: TSearchRec;
i : integer;
begin
RootFolder := IncludeTrailingPathDelimiter(RootFolder);
if Recurse then
if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
try
repeat
if SR.Attr and faDirectory = faDirectory then
// --> ein Verzeichnis wurde gefunden
// der Verzeichnisname steht in SR.Name
// der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
// RootFolder + SR.Name
if (SR.Name <> '.') and (SR.Name <> '..') then
FindAllFiles(FileList, RootFolder + SR.Name, Maske, Recurse);
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
i := 0;
repeat
begin
if FindFirst(RootFolder + '*' + Maske[i], faAnyFile, SR) = 0 then
try
repeat
if SR.Attr and faDirectory <> faDirectory then
begin
// --> eine Datei wurde gefunden
// der Dateiname steht in SR.Name
// der vollständige Dateiname (inkl. Pfadangabe) ist
// RootFolder + SR.Name
FileList.Add(RootFolder + SR.Name);
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
i := i + 1;
end
until
i = high(maske) + 1;
end;
angeschaut.
Da müsste ich ja in der ButtonClick-Procedure FindAllFiles([Hier muss ja eine Stringlist mitgegeben werden oder?],[Verzeichnis ist klar],[Eine Maske muss her],True) aufrufen.
Wenn ich das so mache, bekomme ich aber eine fehlermeldung, das eine ungültige Pointeroperation vorhanden ist. Die meldung bekomme ich erst bei laufender exe. wenn ich die exe ohne delphi starte bkomme ich auch nur diese meldung. woran liegt das?
[EDIT]
Hab nach einigem Probieren meine Hänger selbst gelöst. Also trotzdem Danke für die Hilfe.