Wie gesagt, nicht Application.OnMessage sondern TApplicationEvents.OnMessage verwenden.
Denn wenn du deinen TKeyLog mehrmahls erstellst oder jemand Anderes (z.B. Fremdkomponente oder eine andere Stelle, die du schonwieder vergessen hast),
dann blockiert/überschreibt man sich selber.
An Application.OnMessage kann sich nur
Einer gleichzeitig dranhängen.
TApplicationEvents kann aber mehrmals verwendet werden.
z.B. auf eine/mehrere Forms eine/mehrere TApplicationEvents drauf oder eben Mehrere davon mit Create selbst erstellen.
da ich WEISS, das der Event nirgends sonst benutzt wird!
Und dann nutzt du von jemand Anderem eine Komponente oder Codestück
und jener Entwickler dachte genau das Gleiche.