Hallo
ich habe folgendes Problemchen - was für mich nicht ganz nachvollziehbar ist:
Ich lösche per ShellApi einzeln Dateien
folgenden code verwende ich momentan:
Delphi-Quellcode:
procedure DeleteFileToRecycle(dateien: string);
var SHFileOP: TSHFileOpStruct;
begin
with SHFileOp do begin
Wnd := Application.Handle;
wFunc := FO_DELETE; // zum löschen
fFlags := FOF_ALLOWUNDO; // Ermöglicht eine Umkehrung der letzten Operation
pFrom := PChar(dateien + #0);
end;
SHFileOperation(SHFileOp);
end;
...
Aufruf :
DeleteFileToRecycle('D:\Delphi\Lizenz-Switch\Testdaten\Lizenz.e15' + #0);
Die Datei existiert, und ist nicht geschützt oder in Benutzung...
bei 3 von 4 Versuchen bekomme ich die angehängte Fehlermeldung, d.h. manchmal geht es meistens nicht
es ist aber auch kein muster erkennbar um das ganze nachzustellen
gemäß der code libary habe ich schon andere kombinationen versucht (speziell die Flags) > gleiches ergebnis
http://www.delphipraxis.net/viewtopic.php?t=1451
mein ziel ist es lediglich eine Datei in den Papierkorb zu verschieben um es ggf. wiederherzustellen (es werden nie mehrere oder geöffnete dateien gelöscht)
es gibt auch keine Rechteprobleme da alles lokal ausgeführt wird und Hauptbenutzerrechte vorliegen
ich hoffe ihr könnt mir helfen
mfG TeeKay