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