The following code (which has been in my 32 bit app for about 10 years) has just started to throw a range check error for one tester.
All I can think of is that the cast of TObject to an Integer is the issue, but in that case why would it only affect one user ?
The only difference between this user and others is that he's running under WINE, but I don't know why that would make a difference ?
procedure TEqlistFrm.VenueEditMainKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
PostMessage(Handle, CM_SEARCH, Integer(Sender), Key);
end;