Frees an object reference and replaces the reference with nil (Delphi) or NULL (C++).(delhi help) 释放对象的内容同时将原先指向该对象的指针赋空值。 若向你写的那样 obj.free 不会真正释放对象的内容,从而产生内存泄漏。 建议参考一下delphi中创建一个对象的真正含义。
TObject(nil).Free;???这样有意义吗?但你就是这个意思,呵呵
这不是我写的代码,是indy的源码。 hehe 所以我看不懂呀。 大家继续讨论,我顶!
procedure FreeAndNil(var Obj); begin Obj.free; Obj := nil; end;一样吗?如果一样为什么还要P,如果不一样请高手说明
TObject(Obj) := nil;
这是为派生类的obj赋值
Obj:=nil;
释放对象的内容同时将原先指向该对象的指针赋空值。
若向你写的那样
obj.free 不会真正释放对象的内容,从而产生内存泄漏。
建议参考一下delphi中创建一个对象的真正含义。
hehe 所以我看不懂呀。
大家继续讨论,我顶!
begin
Obj.free;
Obj := nil;
end;一样吗?如果一样为什么还要P,如果不一样请高手说明