读书人

【提问】声明为接口的实例属性怎样释

发布时间: 2012-02-10 21:27:42 作者: rapoo

【提问】声明为接口的实例属性,怎样释放呢?实例属性该Free还是FreeAndNil?
问2个问题
1、
我的form1有一个变量a,类型TA = class(TInterfacedObject, IMyInterface),b类型是TB = class(TObject)声明如下:

Delphi(Pascal) code
......type TForm1 = class(TForm)  private    a: IMyInterface;    b: TB;  public    destructor Destroy; override;end;......

该怎样释放a呢?用free报错

2、自定义类型实例属性比如上面的b,需要在destroy里面释放吗?用free释放好还是freeAndNil好呢?

请问a怎样释放?各位指点下谢谢

[解决办法]
我认为都不需要释放
[解决办法]
接口不需要释放
[解决办法]
1 a不用释放,参看接口生命周期
2 freeAndNil比free多一个指针:=nil

读书人网 >.NET

热点推荐