关于freeAndNil
下边是freeAndNil的函数原型:
procedure FreeAndNil(var Obj);
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
Temp.Free;
end;
---------------------------------------
请问: 为什么要用Temp呢?
我觉得用下边的形式也可以啊,如下:
procedure _FreeAndNil(var Obj);
begin
TObject(Obj).free;
Pointer(Obj) := nil;
end;