Я использую этот код в своем проекте:
var
P: TPoint;
MyControl.Perform(WM_LBUTTONDOWN, 0, Longint(PointToSmallPoint(P)));
Компилятор дает мне предупреждение:
[Warning]: Unsafe typecast of 'TSmallPoint' to 'Integer'
Но тот же код используется в Controls.pas
без каких-либо предупреждений - например, в методе TControl.BeginDrag
:
....
Perform(WM_LBUTTONUP, 0, Longint(PointToSmallPoint(P)));
Я не вижу ни одного {$warnings off}
в Controls.pas
.
Почему компилятор предупреждает меня, но пропускает предупреждение для Controls.pas
?
Этот код небезопасен?
Изменить: в моих настройках проекта → Сообщения компилятора → Небезопасный Typecast отмечен (который по умолчанию не отмечен).
Возможно, именно поэтому @David и @Ken не смогли воспроизвести предупреждение.