if Object <>nil 不行
释放了还是有值
释放了还是有值
解决方案 »
- 如何一次性修改类的成员函数名
- To 奇怪的问题(在线等待)
- 请教各位有关做一个客户端小程序来实时监控数据库变化!!!!!!!!!
- 刚学delphi在网上找了一个关于udp通信的程序,编译通过了但是,运行时总是提示:Stream Write error!请各位帮忙看一看,我的时w2K+dp6
- dephi 中ado控件执行如何得到sql错误信息!
- 控件问题
- richedit,送分的小问题
- 高分求购!真是高分啊!!
- 使用ADOQuery时,若结果集为空,关闭程序时出现异常!!!如何避免啊?
- 一个简单的问题,请帮忙。送高分哟!:)
- 关于类属性.
- 如何获得Panel.Caption 内容?(caption内容在不断变化)
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
if assigned(temp)then Temp.Free;
end;
if Assigned(obj) then
ShowMessage('已经释放了')
else
ShowMessage('还没有释放');
FreeAndNil
Or
Object.Free
Object:=Nil判断存在用
Assigned(Object)
procedure DoSomething;
var
s: TStrings;
begin
s := TStringList.Create;
try
// ...
finally
s.Free;
s := nil; // 这里可以不用将s置为nil,因为其他地方没有引用到s
end;
end;另外,如果多个变量(引用)指向同一个实例,就需要确定谁来释放了。