안녕하세요.
제가 DLL에서 BeginThread Function을 이용해서 Thread를 생성하여 사용하고 있습니다.
제가 만드는 Delphi Sample Program에서는 ThreadID 생성 및 Thread Proc 종료시
Thread ID가 제대로 사라지는 것을 확인하였습니다.
그런데, 다른 분이 작업한 특정 DLL에서 제 DLL의 함수를 호출할 경우, Thread 생성은 잘 되나,
Thread 종료시 Thread Proc은 제대로 종료 되었으나, Thread ID가 사라지지 않습니다. (Delphi 7의 Thread Viewer로 확인)
그리고, Thread가 사라지지 않는 문제 때문에, FreeLibrary 시에 Access Violation이 발생합니다.
Thread가 종료할 때까지 기다리기 위해서. WaitForSingleObject로 기다려보았으나, 무한정 기다리더군요.
혹시, 이런 현상을 겪었던 분들의 조언 부탁드립니다.
즐프하십시오~