以下代码触发EIntOverflow
异常。
我无法调试它,因为这发生在用户PC上,而不是我的。
var
dwread, iBytesPerMFTRecord : cardinal;
pc : PChar;
begin
////
// some code here
////
Readfile(hDevice, PChar(pc)^, 100, dwread, nil);
for n:=0 to dwread div iBytesPerMFTRecord -1 do // `EIntOverflow` exception
似乎Readfile为
dwread
返回了一些奇怪的信息,从而触发了下一行的
EIntOverflow
异常。1°)
dwread
可以返回什么来触发此异常?2°)如何控制?
最佳答案
零我猜:
{$Q+}
procedure TForm1.Button2Click(Sender: TObject);
var
dw: Cardinal;
I: Integer;
begin
dw:= 0;
I:= dw - 1; // raised exception class EIntOverflow with message 'Integer overflow'.
ShowMessage(IntToStr(I));
end;
关于delphi - 在Delphi上的EIntOverflow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10426971/