C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[54694] Re:sub(MDI dll)에서 main(MDI)에 함수을 불러 쓸수있나요?
장성호 [nasilso] 1156 읽음    2008-09-29 11:05
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을 호출해서 폼을 생성할때 포인터를 넘겨줘야 되나여? 어떻게 넘겨주죠?? ㅜㅡ

+ -

관련 글 리스트
54693 sub(MDI dll)에서 main(MDI)에 함수을 불러 쓸수있나요? 왕초보 1037 2008/09/29
54694     Re:sub(MDI dll)에서 main(MDI)에 함수을 불러 쓸수있나요? 장성호 1156 2008/09/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.