Einzelnen Beitrag anzeigen

Lefko

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#1

SHFileOperation - Fehler auswerten (wie?)

  Alt 16. Jul 2004, 12:23
Ich habe die gleiche Frage schon in einem anderen Thread gestellt, aber wir wissen ja: Neue Frage, neuer Thread!

Also, ich benutze Sakuras fkt. aus der CodeLib:

Delphi-Quellcode:
function DoFileWork(aOperation: FILEOP_FLAGS; aFrom, aTo: AnsiString;
                 Flags: FILEOP_FLAGS): Integer;
var FromPath, ToPath: AnsiString;
    SHFileOpStruct: TSHFileOpStruct;
begin
FromPath := aFrom + #0#0;
ToPath := aTo + #0#0;
with SHFileOpStruct do
begin
  Wnd := Application.Handle;
  wFunc := aOperation;
  pFrom := PAnsiChar(FromPath);
  if ToPath <> '
    then pTo := PAnsiChar(ToPath)
    else pTo := nil;
  fFlags := Flags;
end;
Result := SHFileOperationA(SHFileOpStruct);
end;
Manchmal funktioniert die Dateioperation ja nicht, weil z.B. die Datei geöffnet ist und deshalb nicht verschoben werden kann. Kann man (etwa mit GetLastError) herausfinden, WESHALB der Fehler aufgetreten ist? Also damit ich in das Prog noch reinschreiben kann "Datei xyz konnte nicht verschoben werden, weil die Datei geöffnet ist" oder so?

Ich hab mal probiert, mir GetLastError anzeigen zu lassen, es war aber immer 0, auch wenn solch ein Fehler aufgetreten ist!
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  Mit Zitat antworten Zitat