Delphi的对象注销方法Destroy和free
来源:互联网 发布:奢侈品活动策划 知乎 编辑:程序博客网 时间:2024/06/07 09:07
当您使用完对象后,您应该及时撤销它,以便把这个对象占用的内存释放出来。您可以通过调用一个注销方法来撤销您的对象,它会释放分配给这个对象的内存。
Delphi的注销方法有两个:Destroy和Free。Delphi建议使用Free,因为它比Destroy更为安全,同时调用Free会生成效率更高的代码。
您可以用下列的语句释放用完的Employee对象:
Employee.Free;
和Create方法一样,Free方法也是TEmployee从TObject中继承过来的。把您的注销放在try…finally程序模块的finally部分,而把对象的程序代码放在try部分是编程的好习惯。这样,即使您的程序代码在使用对象时发生了异常事件,也会确保您为这个对象分配的内存会被释放。
二者的区别是,Destroy 会直接释放对象,而Free会事实检查该对象是否存在,如果对象存在,或者对象不为nil,它才会调用Destroy。因此,程序中应
该尽量使用free来释放对象,这样更加安全一些。(但要注意,free 也不会自动将对象置为nil,所以在调用free之后,最好是再手动将对象置为nil。因此不想手动清空时就可以使用自带函数:freeandnill)
TObject类有一个虚拟的Destroy虚构函数和一个非虚拟的Free函数。Free函数中是调用Destroy的。因此,当我们对任何对象(都是TObject的子类对象)调用 .Free();之后,都会执行 TObject.Free();,它会调用我们所使用的对象的析构函数 Destroy();。这就保证了任何类型的对象都可以正确地被析构
- Delphi的对象注销方法Destroy和free的区别
- Delphi的对象注销方法Destroy和free的区别
- Delphi的对象注销方法Destroy和free的区别
- Delphi的对象注销方法Destroy和free的区别
- Delphi的对象注销方法Destroy和free的区别
- Delphi的对象注销方法Destroy和free
- Delphi的对象注销方法Destroy和free
- Delphi窗体的close,free,destroy等
- Delphi窗体的close,free,destroy
- Delphi中destroy, free, freeAndNil, release用法和区别
- Delphi中destroy, free, freeAndNil, release用法和区别
- Delphi中destroy, free, freeAndNil, release用法和区别
- Delphi中destroy, free, freeAndNil, release用法和区别
- Delphi中destroy, free, freeAndNil, release用法和区别
- Delphi中destroy, free, freeAndNil, release用法和区别
- Delphi中destroy, free, freeAndNil, release用法和区别
- Delphi中destroy, free, freeAndNil, release用法和区别
- delphi中对象的create和free- -
- 第四章 JavaScript 函数
- OpenCV-利用函数inRange进行颜色分割(针对HSV颜色空间)
- 常用正则表达式
- TabLayout 导航条与导航标题文字对齐
- XSLT解析JSON字符串
- Delphi的对象注销方法Destroy和free
- (有密码Access)Access无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开
- Spring定时任务的几种实现
- 如何为VMware的多台虚拟机绑定IP地址
- c++ 重载new和delete
- C#的配置文件App.config使用总结
- 关于ubuntu14.04防火墙-ufw
- 第二章、IPC机制
- Scala初学之——值和变量的声明