Einzelnen Beitrag anzeigen

endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

Probleme mit FindAllFiles aus der Codelib

  Alt 5. Jan 2005, 17:39
Hallo Leute,

irgendwie hab ich schon wieder mächtig ein Brett vor dem Kopf,
ich hab ein wenig im Forum gestöbert um eine Methode zum Auflisten
von Dateien zu finden und bin auch fündig geworden:

Delphi-Quellcode:
procedure TMainForm.FindAllFiles(var FileList: TStrings; RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);
var
  SR: TSearchRec;
begin
  IncludeTrailingPathDelimiter(RootFolder);
  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory = faDirectory then
          if (SR.Name <> '.') and (SR.Name <> '..') then
            FindAllFiles(FileList, RootFolder + SR.Name, Mask, Recurse);
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
  try
    repeat
      if SR.Attr and faDirectory <> faDirectory then
      begin
        FileList.Add(RootFolder + SR.Name);
      end;
    until FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;
end;
so und nun hab ich mir gedacht probier ich das einfach mal aus:

Delphi-Quellcode:
procedure TMainForm.btnStartClick(Sender: TObject);
var FileList: TStrings;
begin
  FileList:= TStrings.Create;
  FindAllFiles(FileList, 'C:\cache\', '*.*', True);
  FileList.Free;
end;
Aber leider endet das Ganze in einem "abstrakten Fehler",
was immer das auch sein soll. Hat Jemand vielleicht
eine Idee wo nun wiedermal mein Denkfehler ist?
  Mit Zitat antworten Zitat