次のコードでは、EIntOverflow
の例外が発生します。 これはデバッグできません。なぜなら、それは私のPCではなく、ユーザーPC上で起こるからです。EIntOverflow on Delphi
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関数は、行を次のように EIntOverflow
例外をトリガdwread
ための奇妙な何かを返しているようです。
1°)dwread
がこの例外をトリガするために返されることはありますか?
2°)それを制御する方法は? Delphiのヘルプから
あなたはこの質問を見てきました - http://stackoverflow.com/questions/2417919/delphi-how-to-avoid-eintoverflow-underflow-when-subtracting? – RBA
'ReadFile'関数が失敗した可能性があります。 'GetLastError()'または 'Win32Check()' –
を見て、これを確認できます。 – RBA