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
[7202] [질문] Tip'N Tricks 65번 childform 을 DLL로 만들기에 대한 질문입니다.(급한건 아니구요)
원영준 [yjwon88] 2024 읽음    2001-05-04 11:48

TipN Triks 65번 을 고대로 하구요


MDIParent에서는 요함수를 사용할수 가 없어서
(만약 사용하려면 차일드윈도 종료 메뉴를 추가해야 할것 같아서 ... 쩝)

        extern "C" __declspec(dllexport) void __stdcall ResetDllApp()
        {
            if (DllApp)
            {
            Application = DllApp;
            }
        }

DLL Detach될때 다음과 같은 코드를 넣었구요

        DllEntryPoint(..., reason, ...)
        {
          if(reason== DLL_PROCESS_DETACH )
          {
              Application = DllApp;
          }
        }




그러고 실행했는데 MDIParent가 죽을때 바이올레이션이 발생해서(2개이상의 차일드가 있을경우) 이것저것 해보다가

extern "C" __declspec(dllexport) void __stdcall CreateChild(TApplication *App)
{
    if (!DllApp)
    {
        DllApp = Application;
        Application = App;
    }

    TForm2 *child = new TForm2(Application->MainForm);     <---- 부분에서
    child->Show();
}

<-- 부분에서 Application->MainForm 대신 Application을 주니까 바이올레이션이 안납니다.  왜 그런거죠 ?

그리고 어떻게 하든 MDIChildCount 가 무조건 0으로 나옵니다.  왜 그런거죠 ?


+ -

관련 글 리스트
7202 [질문] Tip'N Tricks 65번 childform 을 DLL로 만들기에 대한 질문입니다.(급한건 아니구요) 원영준 2024 2001/05/04
7214     ...................... 강현욱 2131 2001/05/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.