在Project Options\Complier\Runtime errors\Overflow checking上打个勾就行了,编译选项是什么我忘了

解决方案 »

  1.   

    不是让delphi告诉我,是我编程的时候需要设计到对变量溢出的处理,所以需要得到变量溢出的消息,怎么获得了!
      

  2.   

    try
      inc(s);
    except
      //此处处理
    end;
      

  3.   

    Delphi把byte的算术运算设置成‘模256’的循环计数操作,255+1得0,255+2得1,等等,所以不会自动产生错误信息。要得到计数或加、减等运算已超过255的信息,必须自己编写软件来实现,并改用Integer来存放可能超过255的数据。其实,Integer也同样存在这一问题,2字节的最大整数(在Delphi中用SmallInt表示)32767加1后会成为-32768。这种利用硬件实现的运算看来不适宜由系统来解决的,他们要用的地方太多太频繁了,如果每个变量每做一步系统都作检查,程序将非常复杂,速度就更成问题了。这种溢出和数组的上下界的溢出性质是不同的,后一种溢出会牵涉到存储器被共用的问题,溢出总是不合理的,所以应让用户来选择{$R+}。