Delphi-Quellcode:
if ((SearchRec.Attr and faDirectory) = faDirectory) and (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
DeleteEmptyDirectories(IncludeTrailingPathDelimiter(Path) + SearchRec.Name)
else
IsEmpty := False;
IsEmpty ist immer False, weil jedes Verzeichnis einen Eintrag . und .. enthält. Prinzipiell müsste Deine Funktion so abgeändert werden:
Delphi-Quellcode:
if ((SearchRec.Attr and faDirectory) = faDirectory) and (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
DeleteEmptyDirectories(IncludeTrailingPathDelimiter(Path) + SearchRec.Name)
else
if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then IsEmpty := False;
Prinzipiell ist der Versuch zu Tracken ob eine Datei enthalten ist oder nicht aber völlig sinnbefreit. Wenn eine Datei im Verzeichnis ist, schlägt ein RemoveDir ohnehin fehl
.