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;
----------------------------------------------------------
解决方案 »
- 关于软件显示的问题
- 如何提取汉字的点阵信息,从DOS的HZK16提取的点阵信息不理想!
- 使用什么控件 不允许别的程序通过SendMessage(Handle,WM_GETTEXT, SizeOf(vBuffer), Integer(@vBuffer)); 得到richedit里面的内容
- 做过批发企业的销售清单的朋友,帮我.如何做有表格的销售清单?
- 帮忙看看哪儿出问题了
- Delphi程序无法运行
- 我是用一个query 返回一个数据集,然后只想打印其中第n条记录,用quickrep
- 怎样在DBGRID中实现象资源管理器中的排序功能?
- Delphi中是否有文本转16进制的函数
- 能不能实现COMBO BOX象EDIT控件一件READONLY=FALSE类似的状态呢,因为ENABLE = FALSE时太难看了
- 急需EAN13或JAN13字库,谢谢各位!
- 这要引用什么单元?
一般来说 t.free ; t := nil; 是没有问题的,除非你构造的时候写了什么东西!
Delphi里面对接口的引用计数是由系统管理的,
把接口置空后,系统会自动释放接口实现类
好像<inside VCL>里有说过