D
doglive
Unregistered / Unconfirmed
GUEST, unregistred user!
一个类:
TA = class(TObject)
public
i : integer ;
procedure sh;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a ,b: TA ;
begin
a := TA.Create ;
b := a ;
a.i := 10 ;
a.Free ;
a := nil ;
b.i := 2 ;
//b.Free ;
b.sh ;
end;
以上代码可以正确的运行,现在的问题是,a和b是同一个对象,,我既然用 a.free销毁了对象,为什么还可以用b.sh方法呢》?? 但是又不能调用b.free了,,一调用就会出错
TA = class(TObject)
public
i : integer ;
procedure sh;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a ,b: TA ;
begin
a := TA.Create ;
b := a ;
a.i := 10 ;
a.Free ;
a := nil ;
b.i := 2 ;
//b.Free ;
b.sh ;
end;
以上代码可以正确的运行,现在的问题是,a和b是同一个对象,,我既然用 a.free销毁了对象,为什么还可以用b.sh方法呢》?? 但是又不能调用b.free了,,一调用就会出错