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
[18878] Re:왕대박님 지난번 대답은 감사합니다...오널도 여지 없이 질문을 하나 올립니다..지송
왕대박 [emrwo] 818 읽음    2002-05-25 15:29
허걱... 난가...--;;;
이름쓰지 마세요.. 쑥스럽고.. 다른 고수분의 고견을 놓칠수도 있잖아요..
그리고, 이곳은 조선에서 제일가는 C++빌더의 장이자...
고수가 아니더라도 자유롭게 의견을 나누는 곳이잖아요...

지금 급한 약속이 있어서 우선 간략한 답변만 올리겠습니다.

변수를 선언/정의 하실때.. Scope라는게 있슴다.
변수를 만들때.. 이넘을 언제 죽여야 하는지를 미리 생각하고 만들어야 한다는
것과 마찬가지져...

음... 님께서

: void __fastcall TMainForm::CreateMDIChild(String Name)
: {
:      TMDIChild *MDIChild;
:      MDIChild = new TMDIChild(Application);
:      MDIChild->Caption = Name;
: }

이렇게 만드셨다면.. 우선은  TMDIChild* 타입의 변수의 인스턴스를 성공적으로
만드셨을 겁니다.
하지만... TMDIChild가 만든 인스턴스 자체는 메모리상에 있는지 몰라도..
이넘을 가리키고 있던 포인터인 TMDIChild *MDIChild; 요넘은 여기서 생명이 끝짱납니다.
아시겠지만.. 지역변수이기 때문이져..

다시 말하자면.. 화면에 보이는 TMDIChild타입의 창은 보일지라도(메모리에 있으니깐..)
요넘을 다시 활용할려면..  TMDIChild의 인스턴스를 찾아갈 정보(TMDIChild *MDIChild)는
사라진 셈이져.... 메모리를 다~~ 뒤져 볼수도 없고... ㅋㅋㅋ...
FindWindow API함수를 여기다 쓴다는 것도 좀 이상하져..

결론은
TMDIChild *MDIChild;  요넘을 전역변수나 멤버변수로 만들어서
낭중에 활용하시면 되겠습니다.  ^^

프로그램은 돌아가기만 하면 된다..ㅋㅋㅋ.. 그럼 즐프하세여.......






시후 님이 쓰신 글 :
: MAIN 폼에서 MDI 폼을 불러오는데, MDI 폼을 2개 만들었습니다. MDIChild1, MDIChild2로여,
: 그리고
:
:
: void __fastcall TMainForm::CreateMDIChild(String Name)
: {
:      TMDIChild *MDIChild;
:      MDIChild = new TMDIChild(Application);
:      MDIChild->Caption = Name;
: }
: //---------------------------------------------------------------------------
: void __fastcall TMainForm::ToolButton1Click(TObject *Sender)
: {
:         CreateMDIChild("테스트");
:         StatusBar1->Panels->Items[1]->Text = "테스트";
: }
: //---------------------------------------------------------------------------
:
: 이렇게 하면, MDIChild를 잘 불러 옵니다.
: 근데, MDIChild1을 불러 오려면 오떻게 해야 하나요..?
:
:
:
: // 헤더파일부분
: //----------------------------------------------------------------------------
: #ifndef MainH
: #define MainH
: //----------------------------------------------------------------------------
: #include "ChildWin.h"
: #include <vcl\ComCtrls.hpp>
: #include <vcl\ExtCtrls.hpp>
: #include <vcl\Messages.hpp>
: #include <vcl\Buttons.hpp>
: #include <vcl\Dialogs.hpp>
: #include <vcl\StdCtrls.hpp>
: #include <vcl\Menus.hpp>
: #include <vcl\Controls.hpp>
: #include <vcl\Forms.hpp>
: #include <vcl\Graphics.hpp>
: #include <vcl\Classes.hpp>
: #include <vcl\SysUtils.hpp>
: #include <vcl\Windows.hpp>
: #include <vcl\System.hpp>
: #include <ActnList.hpp>
: #include <ImgList.hpp>
: #include <StdActns.hpp>
: #include <ToolWin.hpp>
: //----------------------------------------------------------------------------
: class TMainForm : public TForm
: {
: __published:
:     TMainMenu *MainMenu1;
:         TActionList *ActionList1;
:         TStatusBar *StatusBar1;
:         TTimer *Timer1;
:         TCoolBar *CoolBar1;
:         TToolBar *ToolBar1;
:         TToolButton *ToolButton1;
:         TToolButton *ToolButton2;
:         TToolButton *ToolButton3;
:         TToolButton *ToolButton4;
:         TToolButton *ToolButton10;
:         TToolButton *ToolButton5;
:         TMenuItem *N111111;
:         TImageList *ImageList1;
:         void __fastcall Timer1Timer(TObject *Sender);
:         void __fastcall ToolButton1Click(TObject *Sender);
:         void __fastcall ToolButton5Click(TObject *Sender);
: private:
:     void __fastcall CreateMDIChild(const String Name);
: public:
:     virtual __fastcall TMainForm(TComponent *Owner);
: };
: //----------------------------------------------------------------------------
: extern TMainForm *MainForm;
: extern TMDIChild *__fastcall MDIChildCreate(void);
: //----------------------------------------------------------------------------
: #endif

+ -

관련 글 리스트
18869 왕대박님 지난번 대답은 감사합니다...오널도 여지 없이 질문을 하나 올립니다..지송 시후 825 2002/05/25
18878     Re:왕대박님 지난번 대답은 감사합니다...오널도 여지 없이 질문을 하나 올립니다..지송 왕대박 818 2002/05/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.