小问题。什么情况下需要释放资源?

winter_7766 2004-10-10 06:04:05
我做一个程序,动态的生成很多label,radiobutton,checkbox,groupbox,button之类的东东,
简单摘写如下:
MyEdit: array[1..20] of TEdit;
MyLabel: array[1..100] of TLabel;
MyGroupBox: array[1..90] of TGroupBox;
MyRadioButton:array[1..100] of TRadioButton;

//动态生成label
MyLabel[1]:=TLabel.Create(self);
form1.ScrollBox1.InsertControl(MyLabel[1]);
MyLabel[1].Left:=10;
MyLabel[1].Top:=10;
MyLabel[1].AutoSize:=true;
MyLabel[1].Caption:='hello';

//动态生成groupbox
MyGroupBox[i]:=TGroupBox.Create(self);
form1.ScrollBox1.InsertControl(MyGroupBox[i]);
MyGroupBox[i].Left:=15;
MyGroupBox[i].Top:=30;
MyGroupBox[i].Width:=560;
MyGroupBox[i].Height:=115;
等等。
这种情况需要释放资源吗?
如果程序结束了,关闭了,内存中还有这些东东吗?
...全文
190 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wycg_cnh20 2004-10-12
  • 打赏
  • 举报
回复
释放组件时要考虑它的Owner是否会释放它,如果不是,则需要自己释放
winter_7766 2004-10-11
  • 打赏
  • 举报
回复
那我上面生成的那些控件,如何释放?
ikumei 2004-10-11
  • 打赏
  • 举报
回复
最好还是 自己创建的自己释放 不能完全依赖vcl提供的机制
依赖系统释放是一个很不好的习惯 ,这并不能确保所有的资源都被正确释放,或者说不产生内存泄露
Tensionli 2004-10-11
  • 打赏
  • 举报
回复
创建的对象为nil时,一般需要手动释放
fenlin 2004-10-11
  • 打赏
  • 举报
回复
不用释放,窗体销毁时控件自动销毁。
winter_7766 2004-10-11
  • 打赏
  • 举报
回复
up!!关注!
winter_7766 2004-10-10
  • 打赏
  • 举报
回复
那还要释放干吗啊
winter_7766 2004-10-10
  • 打赏
  • 举报
回复
那所谓的释放资源是在程序运行的期间,动态的建立,动态的释放?
ly_liuyang 2004-10-10
  • 打赏
  • 举报
回复
程序结束了当然什么都没有了

http://lysoft.7u7.net

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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