제가 보기엔
배열 사용시 발생하는 사소한 실수같습니다.
일반적으로
메모리 엑세스 에러가 나면
배열 사용이 잘못된 부분이 있다고 보시면
될 것 같습니다.
저도 그렇지만
대부분의 개발자들이 진짜 별거 아닌
사소한 실수를 합니다.
아주 단순하고 작은 것이기에
한번에 보이지 않죠
코드중에
배열 크기가 잘못 지정된 부분을 찾아보세요.
한시운 님이 쓰신 글 :
: MT4Y제품을 C++ Builder의 ComPort를 이용해서 PC와 통신하고 싶습니다.
:
: 그런대 ComPort1->Write((BYTE *)recv, Count); 코드를 이용해서 MT4Y에 입력값을 주고
:
: ComPort1->Read((BYTE *)recv, Count);코드를 이용해서 MT4Y의 출력값을 받을려 하는대 좀처럼 마음대로 안되는군요
:
:
:
: 일단 이 방식이 맞는지와 recv 값을 BYTE recv[8] = {3, 0, 0, 0, 0, 1};과 같이 주었는대 이를 실행해 보면
:
: "Access violation at address 5003804B in module 'rtl160.bpl', Read of address 0086F509"
: 이와 같은 오류가 계속 뜨더군요
:
: 어떻게 해야 될까요?
:
:
: p.s 차장님께 물어보니 MT4Y제품전에 XBM-DN32S란 제품이 달려있어서 XBM과 통신해야 되는 거라고 하는군요.... ㅂㄷㅂㄷ
: 오늘 MT4Y와 통신하라고 해서 하루 왠종일 삽질했었는대....... 하드웨어까지 볼줄아는 중요성이 여기서 또!(But XBM도 다룰줄 몰라서 배우기 부터 시작해야...)
|