【发布时间】:2012-04-18 08:53:37
【问题描述】:
考虑:
{$R+}
i:= 1;
While i > 0 do
i:= i + 1;
ShowMessage(IntToStr(i));
如果我将 i 声明为 Byte、Word、Shorint 或 TinyInt,我会收到一个范围检查错误,正如预期的那样。
如果我将 i 声明为 LongWord、Cardinal、Integer、LongInt 或 Int64,它只会通过 while 循环并显示负值或 0 值,当您通过上限时 i 会得到该值。
Delphi 7 不支持对 32 位和 64 位数字进行范围检查吗?
【问题讨论】:
标签: delphi range-checking