Ich tippe um mein Leben und trotzdem drei neue Beiträge in der Zwischenzeit. Ich schicke es trotzdem ab
Hallo. Gibt es einen Grund, warum du direkt die Windows-Funktion MoveFile verwendest? Wenn du mal in die offizielle Microsoft-Dokumentation zu MoveFile schaust siehst du, dass die Funktion einen Rückgabewert (Boolean) zurückliefert und angibt, ob die Datei erfolgreich kopiert werden konnte oder nicht. Weiterhin kann man dann den genaueren Grund feststellen:
Delphi-Quellcode:
procedure TForm4.FormCreate(Sender: TObject);
var
returnedErrorCode: Cardinal;
begin
//http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx/
if not MoveFile(
'
"C:\Users\Public\Documents\test.txt\"',
// Warum hier Anführungsstriche drum?
'
C:\Users\Public\Downloads\'
// und hier nicht?
)
then begin
returnedErrorCode := GetLastError();
ShowMessage(
'
Fehler aufgetreten: '
+SysErrorMessage(returnedErrorCode)
+'
. Fehlercode '+returnedErrorCode.ToString()
);
end else
ShowMessage('
Kopiervorgang war erfolgreich');
end;
Kann sein dass du bei XE3 das
returnedErrorCode.ToString()
durch
IntToStr(returnedErrorCode)
ersetzen musst.
Jedenfalls liefert obiger Block die Fehlermeldung im Anhang.