Du musst irgendwo einen Fehler in deinem Code haben. Ich habe diese Funktion schon tausende Male benutzt und es hat bisher
immer geklappt. Rufst du vielleicht IOResult zwei mal auf? Dass es dann beim zweiten mal 0 ist wenn keine Aus- und Eingabeoperationen stattgefunden haben, ist ja dann klar.
Delphi-Quellcode:
function IOResult: Integer;
// in der Unit System
begin
Result := InOutRes;
InOutRes := 0;
end;
Und hier wird nicht der Rückgabewert der Funktion auf Null gesetzt, sondern die gloable Variable
InOutRes, damit sie für den nächsten Aufrufer wieder mit null initialisiert ist.