종종 배포를 편하게 하기 위해서 프로젝트 옵션 runtime packages를 un-check해서
exe만 배포합니다.
그런데 아랫쪽 질답에 있듯이 runtime packages를 un-check 할경우
exe의 Applicaton과 dll의 Application객체가 다른놈이 됩니다.
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=50394
그래서 vcl만 runtime packages 넣고 compile해봤습니다.
vcl관련 vcl**.bpl만 같이 배포하고 나머진 exe나 dll에 묶어서 배포하려구요
일단 dll load도 문제없고.. applicaton객체도 한놈으로 동작하고 잘되는것 같았습니다.
그런데 문제는
runtime때 dll을 load하는데
프로젝트 종료 시점에 (메인폼 Destory이벤트에서) dll을 free하면 에러가 발생하지 않는데
프로그램이 돌고 있는 중에 dll을 free해버리면 fee는 정상으로 된후에
Application에서 access violation이 납니다.
쩝쩝
해결은 runtime packages를 uncheck하면 됩니다만
원인이 뭐죠?
그것이 알고싶습니다.
dll이 free되면서 무슨짓을 하기에.. ...
그럼....
|