[Lazarus] RE : read single char from STDIN

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Sat Nov 19 12:09:12 CET 2011


Ludo Brands wrote:
>>      ke := GetKeyEvent;
>>      kr := TKeyRecord(ke);
> 
> The cast to TKeyRecord is wrong. You should use GetKeyEventFlags,
> GetKeyEventCode, GetKeyEventShiftState, etc to get the individual parts.
> They do fe. a (KeyEvent and $00FF0000) shr 16;  which is endian safe.

Thanks Ludo, I was anticipating that but this was the result of a 
quick-and-dirty late-night experiment which relied on 
http://lazarus-ccr.sourceforge.net/docs/rtl/keyboard/tkeyevent.html 
being correct: it explicitly says a typecast should work.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




More information about the Lazarus mailing list