2012. 4. 4. 11:00 윈도우/참고

위와 같은 메시지가 발생되는 에러 일경우는 Dll 에서 할당한 메모리를 메인에서 해제 하려 할때 발생합니다. 이해는 할 수 없지만... 아마도 쓰레드에서 할당하는 메모리 포인터가 다른 구조로 관리되는 듯

아래와 같은 경우 인데요

CStringArray 를 DLL 에 전달하면 아이템을 Add 해주는 함수를 호출시 CStringArray 를 메인에서 RemoveAll 함수 호출로 해제 하려할때 위와 같은 에러 메시지가 발생 하였습니다.

해결 방법 : DLL 에 해제 하는 함수를 만들어 해제할때 사용 함.

아래 참고 블로그에서 환경 설정을 맞춰 주면 해결되었다고 하는데 저의 경우에는 해결 안되더군요.

참고 : http://saintrv.egloos.com/1560122

* 에러의 원인은 서로 다른 버젼의 dll 로 인해 힙영역 메모리가 다르게 할당되어서 입니다.

dll 에서도 같은 버젼으 dll 을 쓰도록 manifest 를 걸어 주도록 한다.

posted by townone