Result = CInt(NetApiBufferFree(pBuffer))
내가 (일부 TIMES)이 오류가 나타납니다 정확히를 의미
Arithmetic operation resulted in an overflow.
를? 어떻게 해결할 수 있을까요?
Result = CInt(NetApiBufferFree(pBuffer))
내가 (일부 TIMES)이 오류가 나타납니다 정확히를 의미
Arithmetic operation resulted in an overflow.
를? 어떻게 해결할 수 있을까요?
그것은 CInt
인수가 0x7FFFFFFF 에 Integer
, -0x80000000의 범위를 벗어났다는 것을 의미한다 그리고 오류를 반환 NetApiBufferFree
때 발생합니다 오류 코드 0x80000000에보다 큰.
부호없는 int32 유형이 없으므로 CInt
대신 CLng
을 사용하십시오.
오류의 근원 정보. 오류 코드를 찾아야합니다 : MsgBox를 호출하거나 파일에 기록하거나 중단 점을 사용하십시오. 다음은 설명을 찾습니다. 그것이 도움이되지 않으면 (예를 들어, 오류는 E_FAIL이 될 것입니다), pBuffer
값이 유효한지 확인하십시오 - 무언가에 의해 수정되지 않았고 이미 해제되지 않았 음을 확인하는 코드를 추가하십시오. NetApiBuffer*
호출에 대한 로깅을 추가하십시오.
우수 답변은 .. 'INT16/INT32/INT64'
몇 번 파일 변환이 거대한 수를 소요 대신에 '더블'대체 최대 범위가 결코 두 배입니다.
+1. 또한'Result'가 실제로'Long'으로 선언되었는지 확인하십시오. 또한'Option Strict'를 켜서 이런 종류의 일에 취약 할 때 컴파일러가 경고합니다. – MarkJ
친애하는 Abyx는 정확한 답변을 해주셔서 대단히 감사합니다.하지만 제 문제의 근원을 알려주지 않으므로이 오류를 처리하기 위해해야 할 일이 무엇입니까? 잠시 동안 나는 그것을 처리하는 방법을 알기 전까지 Buffer Free에 대한 지시를 중지했다. 이 일을 도와 줄 수 있어요? –
처리하지 마십시오 - 해결하십시오! –