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
[4990] Re:[질문]VCL 동적 생성과 제거
최성규 [] 2840 읽음    2001-01-21 23:23
이영수 님이 쓰신 글 :
: MyButton = new TButton(this);
: MyButton->Parent = this;
: MyButton_>Caption = "Dynamic Button";
: MyButton->Width = 250;
: MyButton_>Show();
: 이렇게 동적으로 생성한 버튼이 있을 때
: 프로그램 종료시..이버튼을 delete 해야 되나요?
: 책에선..소유자(this)가 자동으로 제거를 해준다는 방향으로
: 가는듯 싶은데.. 시원하지가 않네요...
: 혹 정확히 아시는 분..답변좀 해주세요.
:

답변이 되길 바라며...
Runtime에 코드에 의해 동적 생성된 object는 적절한 시기에 free 시켜 줘야 합니다.
예: FormClose handler에서...
   MyButton->Free();  // delete operator를 써도 될 것입니다.

만약, 자동으로 해제되길 바란다면, 자신이 free될 때 자신이 소유(own)한 class object들을
자동으로 해제하는, button이 놓이는 form을 button의 owner로 설정해 두십시오.
그럼 (아마도,.. 직접 해보진 않아서 '아마'라는 말을 씁니다)
form이 없어질 때 button도 같이 없어질(free) 것입니다.
코드예:

대략 MyButton->Parent = this; 전후에:
MyButton->Owner = this;

최성규

+ -

관련 글 리스트
4989 [질문]VCL 동적 생성과 제거 이영수 2970 2001/01/21
4990     Re:[질문]VCL 동적 생성과 제거 최성규 2840 2001/01/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.