|
Dll에 MDIChild 폼이 들어가 있다구요
첫째로 ..
그런다면 먼저 Project 옵션에서 Build with runtime packages 를 체크하십시요
exe와 dll 둘다..
그렇게 하지 않으려면 dll을 Loadlibrary한 직후에 exe의 Application 객체나 Screen객체 등을
dll쪽에 넘겨서 셋팅해야 합니다.
두번째로 메인폼에 있는 Method를 dll에 있는 MDIChild 폼에서 사용하고 싶다구요?
방법1. MDI폼의 함수 포인터를 MDIChild폼에 넘겨주는 방법
그런데 class 메소드와 일반 함수 포인터와 좀 다르죠!
이부분만 주의해서 하면 됩니다.
방법2. RTTI를 이용하여 ...
RTTI 란? Run-Time Type Information 또는 Run-Time Type Identification 의 약자로써
실행시간에 동적으로 함수를 연결한다거나 하는 기능이죠
하여간 Application->MainForm->MethodAddress 라는 함수를 이용하여서
동적으로 함수의 주소를 얻어 올수 있습니다.
단 MethodAddress 를 통해 얻을수 잇는 함수는 published 로 선언된것이어야 합니다.
그럼..
왕초보 님이 쓰신 글 :
: 안녕하세요
:
: main.cpp (MDIform)
: {
: void aaa(){
: :
: }
: }
:
: sub.cpp (MDIChild, dll로 짜여져 있읍니다.)
: {
: aaa; // mail.cpp에 있는 "aaa" 함수을 불러 쓸수있나요? main에서 쓰는 것처럼.
: // 다른 방법이라도, 포이터을 이용한다든지, main.cpp 에 포인터을 이용하는 방법등..
:
: }
:
: DLL을 호출해서 폼을 생성할때 포인터를 넘겨줘야 되나여? 어떻게 넘겨주죠?? ㅜㅡ
|