CB中动态创建窗体问题!!(100分)

  • 主题发起人 主题发起人 cuddle
  • 开始时间 开始时间
C

cuddle

Unregistered / Unconfirmed
GUEST, unregistred user!
CB中动态创见窗体是用如下代码:
TForm2 *Form2=new TForm2(Application);
Form2->ShowModal();
delete Form2;
朋友能不能给我解释一下,为什么此处要删除Form2??
就是说为什么这里要添加delete语句?!
说个具体的例子吧!
程序中两个窗体的交互:Form1中点击Button1时,动态创建Form2,同时要关闭Form1。
在Form2中点击ButtonCancel时,删除Form2(下次使用时动态创建),同时显示Form1。
请朋友写一下两个Button的Click事件代码,让小弟学习学习!谢谢
 
》》朋友能不能给我解释一下,为什么此处要删除Form2??
因为你调用了new,就是动态的创建了一个内存块了,当你使用完毕后需要手动的删除,
否则会造成内存泄漏。
》》请朋友写一下两个Button的Click事件代码,让小弟学习学习!谢谢
form1中包含unit2.h,button1的事件代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 *Form2;
Form2 = new TForm2(this);
this->Hide();
Form2->ShowModal();
delete Form2;
}
form2中包含unit1.h,button1的事件:
void __fastcall TForm2::Button1Click(TObject *Sender)
{
this->Close();
Form1->Show();
}
 
朋友能不能给个QQ,方便联系!!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2602867
 
后退
顶部