[原创]Delphi FreeAndNil 是一个过程,并不是函数

Posted 滔 Roy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[原创]Delphi FreeAndNil 是一个过程,并不是函数相关的知识,希望对你有一定的参考价值。

 Delphi FreeAndNil 是一个过程,并不是函数,看源代码就知道,它的主要作用是清空并释放对象

procedure FreeAndNil(var Obj);
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  Temp.Free;
end;

看代码的执行顺序,先置空,再释放

置空  清空指针指向内存的地址。

释放 释放实例占用的所有资源。Free后,指针不能再使用

 

 

更新时间:2019.12.27

来源于:https://www.cnblogs.com/guorongtao/p/12107245.html

以上是关于[原创]Delphi FreeAndNil 是一个过程,并不是函数的主要内容,如果未能解决你的问题,请参考以下文章

对象释放两种方法对比:Free 和 FreeAndNil()

Delphi:如何从内存中完全删除字符串[重复]

delphi mdi子窗体显示和释放的问题

为啥 FreeAndNil 实现在 Free 之前执行 Nil?

[原创]Delphi XE 手机端实现沉浸式透明状态栏

[原创]Delphi XE10 dxLayoutControl 控件应用指南