H
hophy
Unregistered / Unconfirmed
GUEST, unregistred user!
请看下面的程序,如何才能避免出现内存错?
obj1, obj2: TObject;
.....
obj1:=TObject.Create;
obj2:=Obj1;
.........
FreeAndNil(obj1);
.........
if Assigned(Obj2) then
ShowMess(Obj2.ClassName)
//这里出错了
因为Obj1与Obj2都指向同一个对象,Obj1释放了,但Obj2仍指向原来的低值。
现问题是“if Assigned(Obj2) then”应改成什么才能不会调用“ShowMess(Obj2.ClassName)
//这里出错了”
obj1, obj2: TObject;
.....
obj1:=TObject.Create;
obj2:=Obj1;
.........
FreeAndNil(obj1);
.........
if Assigned(Obj2) then
ShowMess(Obj2.ClassName)
//这里出错了
因为Obj1与Obj2都指向同一个对象,Obj1释放了,但Obj2仍指向原来的低值。
现问题是“if Assigned(Obj2) then”应改成什么才能不会调用“ShowMess(Obj2.ClassName)
//这里出错了”