ITest = interface
...
end;TTest = class(TObject, ITest)
...
end;下面是接口的声明和类的实例化var
t: ITest;
begin
t := TTest.Create;
t....; //执行接口里的方法
//下面的问题是,怎样将这个接口释放。 //如果用 FreeAndNil(t); 的话,会抛异常。
//想用 t := nil; 但不知道这种方法是否㊣确。 //请大家帮忙啊
end;
----------------------------------------------------------
...
end;TTest = class(TObject, ITest)
...
end;下面是接口的声明和类的实例化var
t: ITest;
begin
t := TTest.Create;
t....; //执行接口里的方法
//下面的问题是,怎样将这个接口释放。 //如果用 FreeAndNil(t); 的话,会抛异常。
//想用 t := nil; 但不知道这种方法是否㊣确。 //请大家帮忙啊
end;
----------------------------------------------------------
解决方案 »
- Delphi中如何从格式化的字符串中得到数据?
- 如何禁止treeview控件的双击收缩功能?
- 如何把RichEdit对齐方式做得象Word一样?!
- 请问 如何 汉化 DEV SpreadSheet 控件的 属性 窗体 ?????????????
- 请教delphi7中怎样时实统计流经本机的ip包和tcp包数量,并进行包头信息提取.(赠100分)
- 哪有DELPHI的最新补丁下载啊?
- 如何知道在popupmenu上单击后,所单击的菜单项是哪一个?
- listview和imagelist问题
- 有做过车辆号牌的朋友请进!!!!
- 方恨少:) 在吗帮忙测试软件;)
- 急需EAN13或JAN13字库,谢谢各位!
- 这要引用什么单元?
一般来说 t.free ; t := nil; 是没有问题的,除非你构造的时候写了什么东西!
Delphi里面对接口的引用计数是由系统管理的,
把接口置空后,系统会自动释放接口实现类
好像<inside VCL>里有说过