wbswiss
Newbie

Offline
Beiträge: 1
|
 |
« am: 01.07.2010, 10:06:30 » |
|
Hallo Leute, mal eine Frage: Ich arbeite mit Turbo Delphi 2006 und habe da ein merkwürdiges Problem. Ich lösche in meiner Anwendung eine Datei in den Windows Papierkorb (Win XP SP2). Wenn ich mein Programm innerhalb der Entwicklungsumgebung starte, dann werden die Dateien, die gelöscht werden sollen nicht in den Papierkorb gelöscht. Starte ich dagegen das Programm von "außerhalb" (also nach dem compile und einem build) dann werden die Dateien sehr wohl in den Papierkorb gelöscht. Kann mir einer dieses sehr merkwürdige und auch sehr irritierende Verhalten erklären?
Vielen Dank Andreas
Sorry, ich hatte noch vergessen anzugebgen, wie ich das mache:
Uses ..., ShellApi, ...;
Aufruf: procedure ... begin ... if DeleteFileToRecycleBin(g_delname) then ... ... end;
function TFyourshow.DeleteFileToRecycleBin(const AFile: string): boolean; var Operation: TSHFileOpStruct; l_result: integer; begin try with Operation do begin //Wnd := Application.Handle; Wnd := 0; wFunc := FO_DELETE; pFrom := PChar(AFile + #0 + #0); pTo := Nil; fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION; hNameMappings := NIL; lpszProgressTitle := NIL; end; Result := SHFileOperation(Operation)=0; except Result:= false; exit; end; end;
|