1. ホーム
  2. vb.net

[解決済み] 算術演算でオーバーフローが発生した

2022-02-16 23:16:48

質問

送信するとき

Result = CInt(NetApiBufferFree(pBuffer))

このようなエラーが発生することがあります。

Arithmetic operation resulted in an overflow.

また、どのように解決すればよいのでしょうか?

どのように解決するのですか?

ということです。 CInt の範囲外である。 Integer , -0x80000000 ~ 0x7FFFFFFF そして、次のような場合に起こります。 NetApiBufferFree はエラーを返します。エラーコードは 0x80000000 よりも大きいです。

unsigned int32 型は存在しないので CLng の代わりに CInt .


エラーの原因について。 MsgBoxを呼び出すか、ファイルに記録するか、ブレークポイントを使用するかして、エラーのコードを見つける必要があります。次に、そのエラーの説明を見つけてください。もしそれが助けにならないなら(例えばエラーはE_FAIL)、それをチェックするコードを追加してください。 pBuffer の値が有効であること、つまり、何かによって変更されていないこと、すでに解放されていないことを確認します。のロギングを追加してください。 NetApiBuffer* を呼び出します。