例如:procedure TForm1.Button1Click(Sender: TObject);
var i:DWord;
begin
i:=$FFFFFFFF;
{$Q-}
inc(i);
{$Q+}
showmessage(inttostr(i));
end;我在inc(i)时明明关掉了溢出检查(其他代码是需要溢出检查的),但是为什麼还是会提示EIntOverflow错误?但是我删掉了{$Q+}这行就正常了。难道{$Q}不能让部分代码逃避溢出检查吗?其他的比如{$I+},{$I-}都可以选择一段的啊
var i:DWord;
begin
i:=$FFFFFFFF;
{$Q-}
inc(i);
{$Q+}
showmessage(inttostr(i));
end;我在inc(i)时明明关掉了溢出检查(其他代码是需要溢出检查的),但是为什麼还是会提示EIntOverflow错误?但是我删掉了{$Q+}这行就正常了。难道{$Q}不能让部分代码逃避溢出检查吗?其他的比如{$I+},{$I-}都可以选择一段的啊
{$Q-}
procedure TForm1.Button1Click(Sender: TObject);
var i:DWord;
begin
i:=$FFFFFFFF;
inc(i);
showmessage(inttostr(i));
end;
{$Q+}
你试下!