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

EDDGA 2012-02-03 12:23:17
问2个问题
1、
我的form1有一个变量a,类型TA = class(TInterfacedObject, IMyInterface),b类型是TB = class(TObject)声明如下:

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

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

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

请问a怎样释放?各位指点下谢谢
...全文
58 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
EDDGA 2012-02-04
  • 打赏
  • 举报
回复
谢谢,结帖
erhan 2012-02-03
  • 打赏
  • 举报
回复
我认为都不需要释放
funxu 2012-02-03
  • 打赏
  • 举报
回复
1 a不用释放,参看接口生命周期
2 freeAndNil比free多一个指针:=nil
lzg827 2012-02-03
  • 打赏
  • 举报
回复
接口不需要释放

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧