|
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 해 보며 테스트했습니다.
답변에 미리 감사드립니다.
그럼
|