편의상 A를 DLL를 호출하는 프로그램으로 하겠습니다.
A프로그램에서 Dll를 호출합니다.
DLL내부에는 TDatabase와 TQuery가 있습니다.
쿼리를 오픈하여 정상적인 결과 값을 얻었으나...
호출한 프로그램 종료시에 Access violation 에러가 나는군요..
윈탐색기에서 더블클릭에의한 실행시에는 아무런 에러가 없으나
델파이에서 실행할 경우에 이런 에러가 발생하는군요...
해결방법 부탁드립니다.
DLL를 호출할때 LoadLibrary를 사용하여 호출할 경우와 걍 호출할 시에도
반드시 그 DLL의 Handle값을 반환해서 종료시켜야 하더군요...
FreeLibrary를 사용하여 각 실행된 DLL의 handle값을 FreeLibrary를 시켜
주면 메인프로그램에서 Access violation 에러가 나지 않습니다.
DLL를 호출할때 LoadLibrary를 사용하여 호출할 경우와 걍 호출할 시에도
반드시 그 DLL의 Handle값을 반환해서 종료시켜야 하더군요...
FreeLibrary를 사용하여 각 실행된 DLL의 handle값을 FreeLibrary를 시켜
주면 메인프로그램에서 Access violation 에러가 나지 않습니다.