|
컨트롤을 생성할때 생성자에 TObject *AOwner를 지정하는 이유는..
이 컨트롤의 주인이 AOwner라는걸 명시하기 위함입니다.
비슷한 개념으로 Parent가 있는데..이것은 시각적인 개념입니다.
프로그램이 종료될때 모든 객체 컨트롤들은 소멸하게 됩니다.
폼이 소멸되기 전에 그 폼이 갖고있는 자식 컨트롤(해당 폼을 Owner로 하고있는)들을 먼저 소멸하고 자신이 마지막에 소멸됩니다.
또 폼을 제외한 다른 Windowed control도 자식 컨트롤들을 포함할 수가 있습니다.
구체적인것은 c++빌더 책을 참조하시기 바랍니다.
-locke
c++빌더왕초보 님이 쓰신 글 :
: locke님 감사합니다..
:
: 근데
: 위에는 알겠는데,
:
: "
: TObject *AOwner인데 클래스 생성시 상하관계를 나타냅니다.
:
: 오브젝트가 소멸할때도 자신을 Owner로 갖는 자식 오브젝트들에게 자동으로 소멸 메시지를 보내주게 됩니다.
: "
:
: 이 부분을 좀더 자세히 설명 해주시면 안될까요??ㅜㅜ
:
:
:
:
:
: locke 님이 쓰신 글 :
: : Form1에서 Form2를 아래와 같은 방식으로 생성하여 Show()하시면 될듯..
: :
: : 생성자의 파라미터는 null로 하시면 안됩니다. TObject *AOwner인데 클래스 생성시 상하관계를 나타냅니다.
: :
: : 오브젝트가 소멸할때도 자신을 Owner로 갖는 자식 오브젝트들에게 자동으로 소멸 메시지를 보내주게 됩니다.
: :
: : -locke
: :
: : c++빌더왕초보 님이 쓰신 글 :
: : : 폼 두개를 띄어놓고 1:1통신(메신져같은거여.. 문자 주고 받고..)를
: : : 만들려고 하는데여~
: : : FORM을 두개를 동시에 띄어놓구 서로 주고 받으려고하는데
: : : form 두개를 어떻게 하면 계속 띄어 놓을수 있을까여?ㅜㅜ
: : : 찾아보니까..
: : :
: : : TFormB *FormB = new TFormB(NULL);
: : : FormB->Show();
: : :
: : : 요렇게 하는거 같은데..;;
: : :
: : : 전 폼 한개는 Form1 이구요 다른 한개는 Form2 로 만들어놨습니다 ㅠㅠ
|