Kann CopyFile versagen ?
-
Ich lasse 1 bis zu 200 Dateien kopieren, alle Dateien werde im Zielverzeichnis überschrieben.
Ich musste feststellen, dass bei vielen Dateien (> 50) manche Dateien nicht überschrieben werden.
Entweder hat mein Algo ein Fehler oder kopiere ich zu schnell ? (keine Bremse)Ich teste das evtl mal mit einer eigenen (evtl leider langsameren) Funktion, die im Nachhinein auf Erfolg prüft.
Wirft CopyFile Exceptions oder muss ich mit GetLastError lesen ?
-
Tim06TR schrieb:
Wirft CopyFile Exceptions oder muss ich mit GetLastError lesen ?
WinAPI-Funktionen werfen keine Exceptions, höchstens mal Zugriffsverletzungen ("Garbage in, garbage out").
Was die Benutzung der Funktion angeht, lies doch einfach die Seite im MSDN. Da steht auch, daß du GetLastError() benutzen mußt.
In C++Builder kannst du übrigens für WinAPI-Funktionen, die einen BOOL-Wert zurückgeben, die Funktion Win32Check() benutzen, um im Fehlerfall eine Exception mit sinnvoller Fehlermeldung generieren zu lassen:
Win32Check (CopyFile (...));
Das sollte man immer (!) benutzen, wenn man WinAPI-Funktionen direkt aufruft.
-
Win32Check ist ein toller Tipp, Danke audacia.