Wir meinten beide tatsächlich wohl das gleiche. Ich sehe nur nicht wozu der direkte "GetLastError()"-Aufruf notwendig ist, es gibt ja
Win32Check( CreateFile(..) <> INVALID_HANDLE_VALUE );
oder
if (CreateFile(..) = INVALID_HANDLE_VALUE) then RaiseLastOSError();
Die Fundstelle in TFileStream.Create() ist wirklich gut. Wenn man im Internet nach "tfilestream create getlasterror" sucht findet man auch einen
QC-Eintrag bei Embarcadero aber der Server streikt ausnahmsweise mal wieder.
Was ich in der Shoutbox noch meinte war der umgekehrte Fall: Manche
WinApi-Routinen rufen
SetLastError(ERROR_SUCCESS)
nicht auf wenn sie erfolgreich waren. Deshalb sollte man
nicht GetLastError()
nehmen und einen Fehler annehmen wenn dieser nicht
ERROR_SUCCESS
(also Null) ist.