|
죄송합니다.
제가 질문을 정확히 이해하지 못하고 답변했네요
님께서 하신 방법대로 하면 됩니다.
void __fastcall TFormProve::FormClose(TObject *Sender,
TCloseAction &Action)
{
Action = caFree;
}
위와같이 하면 스스로 free됩니다
메모리에서 해제 되는거죠...
freeman 님이 쓰신 글 :
: 친절한 답변에 감사드립니다.
: 제 의문점은 TMainForm은 destory되지 않고
: 어떤 특정 이벤트가 발생되면 자꾸 동적으로 Form을 생성합니다. 여기서 Form에 볼일이 다 끝나면
: 생성된 Form안에 있는 종료 버튼을 클릭하면 Close()함수를 호출하여 종료 하는 구조입니다.
: 여기서 항상 TMainForm은 destory되지 않고 살아 있습니다. 메인윈도 이기 때문입니다
: 어떻게 하면 자꾸 동적생성 되는 Form을 종료할때 깨끗이 리소스를 반납할 수 있읍니까 ?
: TF->ShowModal(); 은 안되고 ,반듯이 Show()로 생성해야 합니다.
:
: 장성호 님이 쓰신 글 :
: : 자동으로 된다고 해야할것 같네요
: ㅇ:
: : 생성할때 코드
: :
: : TF = new TFormProve(this); // 여기서 파라메타로 넘긴 this 라는것 때문에....
: :
: : 님의 코드에서 this가 TMainForm 이니
: : TMainForm이 destory될때
: : TMainForm 을 Owner러 가진 모든 Object들은 delete됩니다.
: :
: : 동적으로 생성한 Form을 control도 마찬가지구요
: :
: : --------------------------------------
: :
: : 만약 생성코드에서
: : TF = new TFormProve(NULL);
: : 이렇게 해줬다면
: :
: : 반드시 직접 delete해줘야하구요
: :
: : --------------------------------------
: : vcl에서 Owner 라는것 요것이 얼마나 이쁜지 ...
: : new할때 Owner만 지정만 해주면
: : 알아서 delete 해주니 얼마나 편한지 모르겠네요
: :
: :
: :
: : freeman 님이 쓰신 글 :
: : : TFormProve * TF;
: : :
: : : 안녕하세요 아래 코드와 같이 버튼을 클릭하면
: : : 동적으로 폼이 생성됩니다. 폼에서 작업을 마치고
: : : 종료하면 FormClose이벤트가 발생되는데
: : : FormClose이벤트에서 아래와 같이 코드를 넣어면
: : :
: : : TF = new TFormProve(this);
: : : ->동적으로생성된
: : : 메모리가 자동 해제 됩니까 아니면
: : : 이놈을 일일이 delete TF; 해야 합니까
: : :
: : : void __fastcall TMainForm::Button2Click(TObject *Sender)
: : : {
: : : ShowTotalProveWindows("126.63.1.2","cpu부하율");
: : : ShowTotalProveWindows("203.163.121.332","노말부하울");
: : : }
: : : //---------------------------------------------------------------------------
: : : void __fastcall TMainForm::ShowTotalProveWindows(String IP,String Mes)
: : : {
: : : TF = new TFormProve(this);
: : : TF->laIP->Caption = IP;
: : : TF->eAnalysisInform->Text = Mes;
: : : TF->Show();
: : : }
: : : //----- 동적으로 생성된 Form이 소멸될때 -------
: : : void __fastcall TFormProve::FormClose(TObject *Sender,
: : : TCloseAction &Action)
: : : {
: : : Action = caFree;
: : : }
|