Delphi   发布时间:2022-04-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了delphi – 警告:不安全的“TSmallPoint”类型转换为“整数”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的项目中使用这段代码:
var
  P: TPoint;

MyControl.Perform(WM_LBUTTONDOWN,Longint(PointTosmallPoint(p)));

编译器给了我一个警告:

[Warning]: Unsafe typecast of 'TsmallPoint' to 'Integer'

但是,Controls.pas中没有任何警告使用相同的代码 – 例如在TControl.beginDrag方法中:

....
Perform(WM_LBUTTONUP,Longint(PointTosmallPoint(p)));

Controls.pas中没有看到任何{$warnings off}.

为什么编译器警告我,但是跳过Controls.pas的警告?
这段代码不安全吗?

编辑:在我的项目选项中 – >编译器消息 – >检查不安全的类型转换(默认情况下未选中).
也许这就是为什么@David和@Ken无法重现警告.

解决方法

是因为您在Project->选项 – >编译器消息中选中了不安全的类型转换警告.这是非常安全的取消选中(不安全的类型和不安全的代码上面)(见下文)

我无法重现警告,因为我没有选中不安全的类型.它不再适用. (当Delphi for .NET开发Delphi时,它被添加到Delphi 6或7中,以实现.NET兼容性,以便更容易地编写适用于.NET和Win32的代码;由于Delphi for .NET产品已被停用,所以该警告(和上面的两个)不再适用).这三个警告中的“不安全”使用“不安全”的.NET含义,意思是“不受管理”.

从Delphi 7帮助文件(搜索“编译器更改”)(强调我的):

大佬总结

以上是大佬教程为你收集整理的delphi – 警告:不安全的“TSmallPoint”类型转换为“整数”全部内容,希望文章能够帮你解决delphi – 警告:不安全的“TSmallPoint”类型转换为“整数”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。