우선 답변 감사드립니다 ^^
저렇게 한 이유인즉..
버튼을 클릭 할 시
n 개의 폼이 생성 되야 하기 때문입니다.
폼이 생성될 갯수를 알 수 가 없어서요. -_-;;
감사합니다.
ben 님이 쓰신 글 :
:
: TForm1* frmOrder[10];
: for(int i = 0 ; i < 10 ; i++)
: {
: frmOrder[i] = new Tfrm_Order(Application);
: }
:
: 이게 당연히 맞겠죠... 동적할당 10번 할꺼면 할당 받을 포인터변수가 10개 여야하니..
: 근데 왠 지역?
: 맴버 혹은 전역으로 쓰시는게 맞지 않을까요?
:
:
:
: AutuMn 님이 쓰신 글 :
: : 안녕하세요.
: :
: : 질문 하나 하겠습니다..
: :
: : MDI 형식으로 프로그램이 구성 되어져 있습니다.
: :
: : 메인 폼의 버튼을 클릭 할 시 아래와 같이 동작 하구요.
: :
: : void __fastcall Tfrm_Main::btn_OpenClick(TObject *Sender)
: : {
: : TForm1 *frmOrder;
: : for(int i = 0 ; i < 10 ; i++)
: : {
: : frmOrder = new Tfrm_Order(Application);
: : }
: : }
: :
: : 우선 메인 폼 에서 딱히 Child 폼을 건드리는 일은 없습니다.
: :
: : 그리고 TForm1의 Close() 이벤트에서
: : Action = CaFree;
: :
: : 으로 메모리는 알아서 해제 합니다.
: :
: : 현재까진 생성 된 객체끼리 값들이 공유되거나 메모리 충돌이 난 적은 없었으나.
: :
: : 저렇게 해도 문제 될 건 없는건가요?
: :
: : 아니면
: :
: : TForm1* frmOrder[10];
: : for(int i = 0 ; i < 10 ; i++)
: : {
: : frmOrder[i] = new Tfrm_Order(Application);
: : }
: : 이렇게 해야 하나요? ㅠ
|