Deine Version geht.
Das fliegt raus:
Delphi-Quellcode:
var
Cancelled: Boolean;
begin
if not CopyFileEx('d:\Neues Textdokument.txt',
'd:\Neues Textdokument (Kopie).txt',
nil, nil, @Cancelled,
COPY_FILE_NO_BUFFERING
)
then RaiseLastOSError();
Jetzt komischerweise unabhängig von Code-Optimierung, also immer.
Im ursprünglichen Programm muss das @Cancelled raus und nil rein dann gehts auch dort.
Nur Warum?