Bonjour

J'utilise une procédure récursive pour vider un dossier de tout son contenu.
Cela fonctionne parfaitement mais je déplore une durée d'exécution proportionnelle au développement de l'arborescence.

Mon programme doit tourner sous Windows 2000, XP et Vista.

J'ai essayé la source trouvée dans la FAQ
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses
  ShellApi;
 
function DelDir(Dir: String): Boolean;
var fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do begin
    wFunc := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom := PChar(Dir + #0);
  end;
  Result := (0=ShFileOperation(fos));
end;
L'exécution ne donne pas le résultat escompté. Aucun fichier ou dossier n'est supprimé.

Quelqu'un pourrait-il me dire pourquoi ?

Merci d'avance