@Markus: msTimeout ist auch kein OUT-Parameter.
Integer ist in 32-Bit-Anwendungen ein Alias für den LongInt.
In 64-Bit-Anwendungen wäre es ein Alias für Int64, aber da man den Integer-, INT-Typen eingefroren hat, bleibt er in Zukunft weiterhin LongInt.
Also eigentlich sollte es passen, egal ob als Integer oder LongInt deklariert.
PS: Der EventCode ist auch ein Ausgabe-Parameter. (nur als Tipp, weil ich nur bei den Params den COmpilerschalter seh)
Welche Delphi-Version nutzt du denn?
Was genau wird denn bemängelt? (wo steht den der Cursor)
Könnte es in DoEvent zu einer
Exception kommen?
Wenn ja, dann gehört das FreeEventParams wohl besser in ein Try-Finally.