Delphi编译时整数转换警告?

前端之家收集整理的这篇文章主要介绍了Delphi编译时整数转换警告?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Delphi XE或2006中,有没有办法在编译时检测整数类型之间的隐式转换可能会丢失数据?我意识到可以通过运行时检查来检测这个.即使“大”值为1,我也希望它标记以下示例.(我们正在考虑将某些数据库密钥的int更改为bigint,并且要确定对大型遗留代码库的影响.)
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  small: Integer;
  big: Int64;
begin
  big := 3000000000000;
  small := big;  // Detect me!

  Writeln(small);
end.

解决方法

编译时您不会收到任何警告或提示. Delphi编译器没有做任何程序流分析,它告诉它,当它被分配给小时,它包含太大的值.它默默地截断值,使其适合较小的类型.我试着用Shortint,一个有符号的字节大小的类型,甚至没有给出警告或暗示.

而且没有办法使德尔福警告你.这会很好也许你可以在QC建议(如果还没有建议)?

猜你在找的Delphi相关文章