请问NEW出来的Form怎么释放,有几种方法?

kusangi 2003-12-23 08:22:20
…………
...全文
70 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
drawwingmap 2003-12-23
  • 打赏
  • 举报
回复
void TForm5::OnCloseP() //occurs when get close event
{
Action=caFree // close form and free memory

}

void TForm5::OnButton1ClickP()
{
Close(); //method of TCustomForm
}
kusangi 2003-12-23
  • 打赏
  • 举报
回复
哦,知道了,以前我也是这么用的 Action = caFree;但是不知道为什么总出错,现在好了,呵呵!
  • 打赏
  • 举报
回复
如果你是在关闭Form5时释放的话,加入如下代码就可以。

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
Action = caFree;
}
jbz 2003-12-23
  • 打赏
  • 举报
回复
你的代码看到有问题。new 出来form5N次而没有释放,并且是同一个变量名。
jbz 2003-12-23
  • 打赏
  • 举报
回复
在Form5里是不能直接删除自身的!

可以这样做:当点击Form5上的某个按钮时设置一个删除标记(全局的bool变量),
然后Close(),然后在其他地方删除它(比如在Timer中判断删除标记后) delete form5
kusangi 2003-12-23
  • 打赏
  • 举报
回复
是到是,但是如果我不关闭form4而不停的开new 出来的form5呢?会不会造成内存泄露或影响程序的运行,本来我的程序好用,但是new 出来form5N次或,程序就不好用了,不知道是这个问题还是我的代码有问题
linjl 2003-12-23
  • 打赏
  • 举报
回复
我试了一下,不管是生成一个新窗体(TForm5 )还是生成一个跟现有窗体一至(TForm4)的窗体,其实都没有必要去管他怎么释放,因为你在new的时候父控件指定的是this,就是你的
Form4,他会自动管理你的子控件的内存释放问题,你试试,如果把Form4关掉,Form5是不是也会被同时关掉!
kusangi 2003-12-23
  • 打赏
  • 举报
回复
帮忙啊
kusangi 2003-12-23
  • 打赏
  • 举报
回复
delete form5;
form5=NULL;
这个也出错!没定义的符号form5,还有几个错误。我在form4中的源码这样的。
TForm5 *form =new TForm5 (this);
form->Show();
kusangi 2003-12-23
  • 打赏
  • 举报
回复
Close();
delete form;
这样运行会出错的,没定义的符号form,还有几个错误。
「已注销」 2003-12-23
  • 打赏
  • 举报
回复
delete form5;
form5=NULL;
huoniao1976 2003-12-23
  • 打赏
  • 举报
回复
Close();
delete form;
goneaway1981 2003-12-23
  • 打赏
  • 举报
回复

p->Free();应该也可以吧,但我不知道和delete有什么区别,哪个好。
kusangi 2003-12-23
  • 打赏
  • 举报
回复
不是啊,你误解我的意思了啊,我说的不是以form4为模板的意思,是在form4的一个按钮里写的
TForm *form=new TForm5(this);
………………
然后要在form5的按钮里释放这个new 出来的
nobill 2003-12-23
  • 打赏
  • 举报
回复
记得form5中要有form4的头文件!
nobill 2003-12-23
  • 打赏
  • 举报
回复
delete form4;
kusangi 2003-12-23
  • 打赏
  • 举报
回复
我是在form4里new出来的,想在form5的关闭按钮里释放,该怎么做???
MartinWang 2003-12-23
  • 打赏
  • 举报
回复
TForm1* p=new TForm1(this);
......
delete p;

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧