Suppose you have code like this:
Result.X := ACustomMemo.Perform(EM_LINEFROMCHAR, -1, 0);
The Windows API claims "-1" is a valid value that makes it it return the active line.
However, Delphi has this defined as NaiveUInt and complains if I try to pass -1.
What is the cleanest solution to this? Casting?
Casting the -1 value to WPARAM is the proper way to handle this case.
Result.X := ACustomMemo.Perform(EM_LINEFROMCHAR, WPARAM(-1), LPARAM(0));
btw, the delphi NativeUint definition for the WPARAM type is correct, because is a unsigned 32-bit on x86 and unsigned 64-bit on x64.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With