Einzelnen Beitrag anzeigen

gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Windows error Codes + SHFileOperation

  Alt 17. Okt 2006, 12:29
Danke Christian für den Tipp.

SHFileOperation scheint kein LastError zu setzen. "Der Vorgang wurde erfolgreich ausgeführt." ist ja wohl kein Fehler. Schöne wäre es, wenn der Vorgang erfolgreich gewesen wäre.

Aber das Weglassen des FOF_SILENT-Flags hat mir einen andere Fehlermeldung geliefert:
Zitat:
Datei kann icht umbenannt werden. Wählen Sie nur eine Datei, oder verwenden Sie MS-DOS-Platzhalter ...
Ich verwende SHFileOperation z.Z. so:
Delphi-Quellcode:
function fktRenameDir(psFrom, psTo: string) : boolean;
var
  shellinfo: TSHFileOpStruct;
  nErr : integer;
begin
  shellinfo.Wnd := 0;
  shellinfo.wFunc := FO_RENAME;
  shellinfo.pFrom := PChar(psFrom);
  shellinfo.pTo := PChar(psTo);
  shellinfo.fFlags := FOF_ALLOWUNDO or
                      // FOF_SILENT or
                      // FOF_FILESONLY or
                      FOF_NOCONFIRMATION;



  nErr := SHFileOperation(shellinfo);
  if nErr <> 0 then
  begin
    ShowMessage('Error: ' + inttostr(nErr) + ' '  + SysErrorMessage(GetLastError));
  end;

  result := (nErr = 0)
end;
Die Verzeichnisnamen in psFrom und psTo sind korrekt.
psFrom existiert und psTo existiert noch nicht.
Die Verzeichnisse (ich benenne ja mehrere Verzeichnisse in einer Schleife um) sind teilweise leer, teilweise nicht.
Das sollte aber mMn keinen Unterschied machen, da andere Verzeichnisse, egal ob leer oder nicht, korrekt umbenannt werden.

Die Rechte diese Verzeichnisse umzubenennen habe ich auch.

Irgendwie steh ich auf dem Schlauch.
Kann doch wieder nur eine Kleinigkeit sein, die ich einfach übersehe
  Mit Zitat antworten Zitat