Löschen Sie alle Dateien und Ordner rekursiv mit Delphi

Ich versuche, einen Ordner und alle seine Unterordner rekursiv zu löschen, aber es funktioniert überhaupt nicht. Kann also jemand den Code überprüfen und mir mitteilen, was ich hier falsch mache?

Ich führe diesen Code über D7 unter Windows XP aus

if FindFirst (FolderPath + '\*', faAnyFile, f) = 0 then
      try             
         repeat

            if (f.Attr and faDirectory) <> 0 then
              begin
                    if (f.Name <> '.') and (f.Name <> '..') then
                      begin                            
                        RemoveDir(FolderPath +'\'+ f.Name);
                      end
                    else
                      begin
                        //Call function recursively...
                        ClearFolder(FolderPath +'\'+ f.Name, mask, recursive);
                      end;
              end;

         until (FindNext (f) <> 0);
      finally
        SysUtils.FindClose (f)
      end;
end;

Antworten auf die Frage(2)

Ihre Antwort auf die Frage