Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: SHFileOperation, Ordner löschen

  Alt 6. Feb 2006, 11:07
Hi Chester,

nicht du hast den Ordner geöffnet, sondern der Windows Explorer sperrt ihn - nachdem du mindestens eine Datei daraus gelöscht hast. Du verwendest übrigens gar keine Flags. Die Löschfunktionalität habe ich so gekapselt:

Delphi-Quellcode:
// uses ShellApi;

function ShellDelete(const fsoName: string): Integer;
var
  sh: SHFileOpStruct;
  iResult: Integer;
begin
  ZeroMemory(@sh, sizeof(sh));
  with sh do
  begin
    wFunc := fo_Delete;
    pFrom := PChar(fsoName + #0);
    fFlags := fof_Silent or fof_NoConfirmation or fof_NoErrorUI;
  end;
  Result := SHFileOperation(sh);
end;
Bei dir wäre zu überlegen, ob du nicht alle Dateien mit einem Aufruf löschst. Schneller ist das.

Grüße vom marabu
  Mit Zitat antworten Zitat