Ich hab nur mal kurz in die Doku geguckt und den Part kopiert, wo ich mir fast sicher war, daß er drinsteht.
Zitat von
Return value:
If the function succeeds, it returns the current file position.
A return value of INVALID_SET_FILE_POINTER indicates a potential failure and needs to be followed by be a call to GetLastError.
Also nur
wann sollst du in GetLastError nachsehen?
GetLastError <> gib mir den
FehlerAusführungscode des letzten Funktionsaufrufes.
GetLastError = gib mit den Fehlercode, welchen irgendeine Funktion als Leztes zurückgegeben hat.
Und das kann auch die vorletze Funktion sein, oder die davor ...
PS: Die ersten beiden IFs könnte man auch zusammenfassen, da sie ja das Selbe machen.
PPS: Bist du dir sicher, daß der Code jemals bei ERROR_FILE_NOT_FOUND ankommt?
Wenn es nciht gefunden wurde, dann sollte dich bestimmt schon bei nil Schluß sein.
Und genauso wie der NO_ERROR-Fehler, sollst du GetLastError auch da nur bei einem Fehler auslesen, also bei nur nil.