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
[62911] Re:동적생성한 컴포넌트를 제대로 제거하려면 어떻게 해야 하나요?
도라지 [forevermc] 1200 읽음    2010-11-05 17:52
빈번히 사용하실거 같으면... 프로그램 제거시 알아서 제거되도록 하는게 좋을것 같기두하구요..

아니면 delete 부분을 OnMouseRelease 이벤에 사용하면 안될까요?

방법이 많겠네요

TFrame에 칼린더 넣고 TFrame을 동적생성하시고
OnMouse 이벤트를 이용해서 처리하시면 좀더 이쁘게(?) 처리 하실수도 있을듯 하네요^^;;

동철이 님이 쓰신 글 :
: 폼 하나에다 버튼하나가 있고 그 버튼을 클릭하면 달력컴포넌트(TMonthCalendar)가 뜨게 합니다. 거기서 날짜정보를 받고 이 컴포넌트를 닫으려고 다음과 같이 해주니깐 access violation error가 납니다.
:
:
: void __fastcall TForm1::BitBtn1Click(TObject *Sender)
: {
:         calendar = new TMonthCalendar(this);
:         calendar->Parent = Form1; 
:         calendar->Left = 68;
:         calendar->Top = 240;
:         calendar->Width = 60;
:         calendar->Height = 70;
: 
:         calendar->OnClick = calendarEvent;
: }
: //---------------------------------------------------------------------------
: 
: void __fastcall TForm1::calendarEvent(TObject *Sender)
: {
:         TDateTime pdate;
:         AnsiString str;
:         pdate = calendar->Date;
:         str = pdate.DateString();
:         ShowMessage(str.SubString(1,4));
:         ShowMessage(str.SubString(6,2));
:         ShowMessage(str.SubString(9,2));
:         delete calendar; // <-- 이 부분 실행 후 에러 발생.
: }

:
: 저도 new 한 함수와 delete한 함수가 서로 다른데서 찜찜한 감이 오긴 왔습니다만...
:
: 보통 컴포넌트를 동적으로 불러내고 메모리에서 삭제하려면 이런 식으로 하면 안되는 건가요?
:
: 아예 그냥 프로그램에서 알아서 힙 메모리에서 해제하도록 delete 안하는게 나을까요?

+ -

관련 글 리스트
62910 동적생성한 컴포넌트를 제대로 제거하려면 어떻게 해야 하나요? 동철이 1177 2010/11/05
62915     Re:동적생성한 컴포넌트를 제대로 제거하려면 어떻게 해야 하나요? 장성호 1471 2010/11/06
62917         Re:Re:동적생성한 컴포넌트를 제대로 제거하려면 어떻게 해야 하나요? 워프 2155 2010/11/06
62921             Re:Re:Re:동적생성한 컴포넌트를 제대로 제거하려면 어떻게 해야 하나요? 장성호 1533 2010/11/07
62927                 Re:Re:Re:Re:동적생성한 컴포넌트를 제대로 제거하려면 어떻게 해야 하나요? 워프 1149 2010/11/08
62911     Re:동적생성한 컴포넌트를 제대로 제거하려면 어떻게 해야 하나요? 도라지 1200 2010/11/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.