|
저는 프로젝트 만들어서 테스트 해보니
Dll에서의 Application의 포인터와 Host 쪽의 Application 포인터가 같게 나오는데요
정적, 동적 로딩 동일한 결과가 나왔습니다.
참고하시길 ^^
장성호 님이 쓰신 글 :
: EXE 의 Application과 DLL의 Applicaton이 어떻게 다른가요?
:
: TApplicaton 은 singleton class인걸로 알고있습니다.
: 그래서 프로세스에 하나만 생성되는줄 알았습니다.
:
: 그런데 이상하게 VCL로 Dll을 만들고 Dll안에 Form을 넣구
: Application에 접근하면 접근은 되는데...
:
: 테스트 해보면 exe 의 Application과 DLL의 Applicaton 이 다른객체 처럼동작합니다.
: IDE에서 hint로 뜨는 address의 주소는 같은데
: 실제 if문으로 비교하면 다르다고 나옵니다. 쩝쩝
:
:
: 질문1. 정말 다른놈인가요 같은놈인가요?
:
: 질문2. 다른놈이라면 singletone class인데... 어떻게 다르게 생성되나요?
:
: 질문3. A라는 Dll에서 Applicaton->Icon을 바꾼후에
: B라는 Dll에서 Form을 Show하면 바뀐 아이콘이 적용됩니다.
:
: 즉 DLL은 다른데 DLL끼리는 Applicaton 이 같은 객체 같습니다.
: A.DLL의 Applicaton 과 B.DLL의 Applicaton 이 같은놈 같더라는거죠?
:
: 정말 그런가요?
: 그렇다면 어떻게 그럴수 있는거죠?
: OS에서 Dll을 Load하는 방식에 무슨특별한 무엇이 있나요?
: (이부분이 가장 궁금)
:
: 질문4. Screen 객체는 Dll과 exe가 어떻게 다른가요?
:
:
: 위 모든 경우 동적으로 dll을 load 해 보며 테스트했습니다.
:
: 답변에 미리 감사드립니다.
:
: 그럼
|