对象释放。。。什么是内存泄露? 我自定义的类。用它创建对象后。使用完毕,没有去释放它。有人跟我说‘程序关闭时会把这个对象的内存空间释放掉?’。但是从书上知道。自己创建的对象要自己释放。否则就是内存泄漏了。到底是谁对呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己创建的对象要自己释放好像delphi不会自动回收 书上说得对,自己创建的对象要自己释放静态创建的对象由Delphi负责处理 如果创建的对方的owner释放,则对象被释放。不过真的不好说清楚。最好自己释放。 如果你创建的时候他的所有者是一个对象,那么那个对象释放的时候可以给你释放,但是不推荐这样。如果你创建的时候没有指定他的所有者,那么你必须自己释放,否则就有内存泄漏Memory Leak比如:MyObject:=TMyObject.Create(Form1);那么Form1释放时也会释放你的对象(但是不推荐) MyObject:=TMyObject.Create(nil);是不会释放你的对象的,你必须自己释放内存泄漏(Memory Leak): 你在程序中分配的内存没有回收回来,导致那块内存被无用的信息永远占用,如果你的程序多次运行,每次都有内存泄漏,则会导致操作系统的可用内存越来越少,从而使你计算机的可用资源越来越少,计算机越来越慢。 比如上面所说的情况就有可能内存泄漏。 如果写服务程序,每一次的内存分配都应有一个try finally end结构去释放它。由对象的OWNER去释放是很不保险的。一般的MIS系统,差不多就可以了。 前辈们来帮我纠正一下 Delphi中如何计算查询后Dbgrid中的某列的总和??? DELPHI中如何将.dbf格式的文件数据导入到SQL SERVER 2000数据库中?? 一个让我头痛的问题? 如何执行Oracle的带返回参数的存储过程? 一个关于字符串的的问题 如何检测鼠标信息?急 csdn delphi 论坛数据 有没有 CHM可以下载啊??? 帮我理解以下这句话,我最后的100给你! 请大家说说的静态IP地址分配和动态IP地址分,送分 如何做一个带“DataSource”属性的ActiveX控件? 数据插入没有反映
静态创建的对象由Delphi负责处理
不过真的不好说清楚。最好自己释放。
如果你创建的时候没有指定他的所有者,那么你必须自己释放,否则就有内存泄漏Memory Leak
比如:MyObject:=TMyObject.Create(Form1);那么Form1释放时也会释放你的对象(但是不推荐)
MyObject:=TMyObject.Create(nil);是不会释放你的对象的,你必须自己释放
内存泄漏(Memory Leak):
你在程序中分配的内存没有回收回来,导致那块内存被无用的信息永远占用,如果你的程序多次运行,每次都有内存泄漏,则会导致操作系统的可用内存越来越少,从而使你计算机的可用资源越来越少,计算机越来越慢。
比如上面所说的情况就有可能内存泄漏。