首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

【提问】声明为接口的实例属性,怎样释放呢?实例属性该Free还是FreeAndNil?该怎么处理

2012-02-10 
【提问】声明为接口的实例属性,怎样释放呢?实例属性该Free还是FreeAndNil?问2个问题1、我的form1有一个变量a,

【提问】声明为接口的实例属性,怎样释放呢?实例属性该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

热点排行