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
[7166] Re:MDIChild Form을 만들때 Application을 주는것과 Application->MainForm을 주는것의 차이점이 뭔가요 ?
박지훈.임프 [cbuilder] 2052 읽음    2001-05-03 15:49
임펠리테리입니다.

빌더에서 컴퍼넌트(즉 TComponent를 상속받는 모든 객체)는 생성자의 인자로 Owner라는 것을 받습니다.
말씀하신 차일드 폼을 받을 때 생성자의 인자로 넘기는 것도 역시 Owner이구요.

이 Owner는, "지금 생성하는 중인 컴퍼넌트를 자동으로 파괴시켜줄 넘"을 지정하는 것입니다.
쉽게 말하면, Owner가 지정된 컴퍼넌트는 코드로 명시적으로 파괴시키지 않더라도(delete), Owner가 파괴될 때 자동으로 함께 파괴된다는 말이지요.

결과적으로, 차일드폼을 생성할 때 어플리케이션을 넘기는 것과 메인폼을 넘기는 경우의 효과는 똑같습니다.
왜냐하면, 메인폼이 파괴되면 어플리케이션은 자동으로 파괴되기 때문이죠.

참고로, Owner를 NULL로 넘길 수도 있는데, 이때는 자동으로 파괴되지 않으므로 반드시 코드로 명시적으로 delete 해주어야 합니다.
Owner에 대한 자세한 설명은 오래전에 Sender 등과 비교하여 자세히 설명한 적이 있으므로, 게시판 아래 검색에서 내용 검색을 체크하신 후 검색하시면 될 겁니다.

그럼 참고하시길...


원영준 님이 쓰신 글 :
: MDIChild Form을 만들때  Application을 주는것과 Application->MainForm을 주는것의 차이점이 뭔가요 ? (내용없음)
:
:   TForm *child = new TChildWin(Application);
:   TForm *child = new TChildWin(Application->MainForm);
:
: 의 차이점이 뭔가요 ?  한수 부탁 합니다.
:
:

+ -

관련 글 리스트
7147 MDIChild Form을 만들때 Application을 주는것과 Application->MainForm을 주는것의 차이점이 뭔가요 ? 원영준 2015 2001/05/03
7166     Re:MDIChild Form을 만들때 Application을 주는것과 Application->MainForm을 주는것의 차이점이 뭔가요 ? 박지훈.임프 2052 2001/05/03
7187         Re:Re:감사합니다. 원영준 2043 2001/05/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.