|
안녕하세요. 고수님의 도움이 필요하여 글을 올립니다.
현재 빌더에서 쓰레드를 사용하는 DLL를 LoadLibrary해서 사용합니다.
이 DLL은 공유 메모리에서 상태를 확인하여 화면에 Pop-up창을 띄우는 역활을 합니다.
Pop-up창은 하나이며 안의 Display되는 내용만 바뀌게 됩니다.
그런데 DLL에서 Pop-up 창 생성되고 나서 다른 정보를 Display 하는 시점에 Pop-up창을 Close 시키면 아래와 같은
코드기어 Log가 찍힙니다.
Error 00001. 0x100C00 (Thread 0x0E74):
Method called on invalid object: Attempt to access 880 byte(s) at 0x00000000.
Call Tree:
0x004038D1(=JELGUI.exe:0x01:0028D1)
0x004722A6(=JELGUI.exe:0x01:0712A6)
0x0056C73E(=JELGUI.exe:0x01:16B73E)
0x1000A0F1(=DACLIENTLIB.DLL:0x01:0090F1)
0x1000C93C(=DACLIENTLIB.DLL:0x01:00B93C)
0x7C80B729(=kernel32.dll:0x01:00A729)
Log의 정보로 찾아 보니 동기화 문제가 발생 하는거라고 합니다.
현재 빌더에서는 쓰레드를 사용하지 않고 Timer만 사용하고 있습니다.
어떻게 해결해야 되는지 도움 부탁드립니다.
|