procedure TForm1.Button1Click(Sender: TObject);
var
  a,b:integer;
  aa:word;
begin
  a:=600;b:=400;
  aa:=b-a;
end;运行竟不报错,(但用aa:=400-600就报错)我本想用try... except...来防止B小于A的,这样就用不了了,各位有知道原因的吗?

解决方案 »

  1.   

    建议不要这么作,如果一定要实现你的效果。请这样:
    var
      a,b:integer;
      aa:word;
    begin
      a:=600;b:=400;
      {$R+} //执行越界检查
      aa:=b-a;
      {$R-}
      //…………
    end;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    想报错要这样才行:
    在IDE下,Project->Options->Compiler页下,在Runtime Errors 选中Range Checking然后Save all,再Build All试试看!
      

  3.   

    madyak(无天):
    选中Range Checking等价于:{$R+}   :》:》:》:》—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  4.   

    TO: lxpbuaa(桂枝香在故国晚秋) 我发第一贴时,没看你发的贴,你得更实用些!属于局部范围检查,我的是全部范围检查!
      

  5.   

    TO: lxpbuaa(桂枝香在故国晚秋) 我发第一贴时,没看你发的贴,我是播号上网,经常发贴失败,发得要慢些!
    你得更实用些!属于局部范围检查,我的是全部范围检查!
      

  6.   

    madyak(无天)(★★):
    我用的是宽带,呵呵,快一点!不好意思!—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————