OnClose的时候释放内存

caize131 2008-07-17 03:29:25
我用Application.CreateForm 创建了一个窗体.
使用的是Show方式显示的.
在OnClose里面写了
form1 := nil;
Action := cafree;

但是为什么内存还是没有释放呢?当第二次创建的时候内存会继续增加.

有什么办法能够在Close的时候释放掉内存?

在OnClose里面写form1 := nil;Action := cafree; 就不用说了,行不通的
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
caize131 2008-07-18
  • 打赏
  • 举报
回复
算了,新任务下来了,这个自己没事给自己找事的问题不想了.
看来是我的思路有点问题.^_^
ditouhu 2008-07-17
  • 打赏
  • 举报
回复
在别的窗口ONCREATE事件中TRY创建它,然后finally释放它。
lake_cx 2008-07-17
  • 打赏
  • 举报
回复
你那就是最好的死法了。。。

窗体本身不怎么占用内存的,内存没减少应该是你在窗体OnDestroy里面有成员忘了释放吧
caize131 2008-07-17
  • 打赏
  • 举报
回复
多窗体的.偶尔使用一次的没有必要一直留在内存里面,
使用的还是Show的方式,不知道什么时候关闭.
这样想在Close的时候自动Free掉.
按你说的,有没有好点的死法?呵呵
JeffChung 2008-07-17
  • 打赏
  • 举报
回复
自杀?

搞不懂楼主,如果是反复使用的窗体,而且用Application.CreateForm创建的,为什么在Close的时候要释放了,下次调用又还要创建,多复杂多麻烦啊
如果是只偶尔使用一次的窗体,在使用完之后form1.Free;form1 :=nil;也不是在它自身的Close事件里啊,不允许自杀的吧
caize131 2008-07-17
  • 打赏
  • 举报
回复
- -!
这个方法没用
点击关闭后的内存并没有放,而再创建的时候内存反而加了上去
gzmhero 2008-07-17
  • 打赏
  • 举报
回复
OnClose里面:
Action:=caFree;
OnDestroy里面:
Form1:=nil;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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