Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

FOF_ALLOWUNDO + Vista geht nicht?

  Alt 23. Dez 2008, 02:29
Hallo.

Ich habe seit neustem Vista und habe zu Beginn bemerkt, dass FOF_ALLOWUNDO bei einer Move/Copy Aktion nicht mehr funktioniert. Da ich diese Einschränkung auf einen Bug schob und den Verlust hinnehmen konnte, habe ich mich nicht mehr darum gekümmert.

Nun möchte ich eine Datei in den Papierkorb schieben und verwende folgende Funktion, die ich 2007 in einer Unit veröffentlicht hatte (und die auch nach meinem Wissen funktionierte):

Delphi-Quellcode:
// Template
// [url]http://www.dsdt.info/tipps/?id=116[/url]
function recycler_add_file_or_folder(file_or_folder: string; confirmation: boolean): boolean; overload;
var
  Operation: TSHFileOpStruct;
begin
  with Operation do
  begin
    Wnd := hInstance; // ?
    wFunc := FO_DELETE;
    pFrom := PChar(file_or_folder +#0);
    pTo := nil;
    fFlags := FOF_ALLOWUNDO;
    if not confirmation then fFlags := fFlags or FOF_NOCONFIRMATION;
  end;
  Result := SHFileOperation(Operation) = 0;
end;
Das Ergebnis: Die Datei wird gelöscht und der Papierkorb enthält das Objekt nicht. FOF_ALLOWUNDO ist ein Weiteres Mal fehlgeschlagen.

Was passiert hier?

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat