|
폼을 Application->CreateForm (__classid(TForm2), &Form2); 으로 생성하면
Application 오브젝트가 폼을 관리하다가 자동으로 해제시켜 줍니다....
즉, 자동으로 생성된거랑 똑같다는 의미죠.
실제로, 프로젝트 소스 뷰를 통하여 프로젝트 소스를 보면, Auto Create Form들이
Application->CreateForm 메소드로 생성되는 것을 알 수 있습니다.
진짜 동적으로 만드실려면,
TForm2 *NewForm = new TForm2(Application);
이런식으로 메모리 동적 할당을 통하여 할당하신 후에
NewForm->Show(); 해서 창을 띄우는 방법을 쓰셔야 합니다.
그런 후에 창이 종료되면 창을 해제시켜주셔야죠.
창이 닫히면 자동으로 메모리가 해제되도록 만들려면,
FormClose(TObject *Sender, TCloseAction &Action) 이벤트에
Action값을 caFree로 넘겨주시면 됩니다. (별로 추천하지 않음 -_-)
창이 닫힌 상태를 능력껏(?) 체크하여
delete NewForm; 같은 식으로 해제해주는게 좋습니다.
그럼 ^^;;;
|