frmCreate = TfrmCreate(this);
위와같이 Form이나 Componnet를 생성할경우..
파라메터로 넘겨준 this는 생성한 componnet의 Owner가 됩니다.
Owner란? 그 옛날 순장제와 같이.. 주인(Owner)가 죽으면 하인(위에선 frmCreate)도 같이 죽습니다.
하지만 Owner가 죽기전에 하인(frmCreate)가 죽을수도 있습니다.
즉 첫번째 방법은 화면만 Close(Visible=false)한 상태이구요
두번째 방법은 하면Close후에 하인이 죽는(delete)상태입니다.
첫번째는 화면만 Close되어있기 때문에 언제든 재 사용가능하구..
this가 죽을때 같이 죽습니다.
그럼..
탱구리파 님이 쓰신 글 :
: void __fastcall TForm::CreateForm()
: {
: / /동적 폼 생성
: frmCreate = TfrmCreate(this);
: //... 중략
: frmCreate->Close();
: }
: 이렇게 했을 경우와
:
: void __fastcall TForm::CreateForm()
: {
: / /동적 폼 생성
: frmCreate = TfrmCreate(this);
: //... 중략
: frmCreate->Close();
: delete frmCreate; <-- 추가
: }
: 이렇게 했을 경우의 차이점과 어떻게 하는것이 맞는건지 설명 부탁합니다.
|