function TInterfacedObject._Release: Integer;
begin
Result := InterlockedDecrement(FRefCount);
if Result = 0 then
Destroy;
end;
我们前边说过,接口引用的置nil会调用接口的_Release,所以有可能会把对象给释放掉,我当时可是被它吓了一跳,多亏我没用过它。也就是这样实现下比从TComponent继承带来更大的麻烦。除非特殊用途,不建议使用。
上面对接口的所有讨论,只限于普通使用的语言级的接口,没有讨论Com 接口。Delphi的这些诡异的接口的实现,和它是从Com 接口发展而来是有很大关系的,也就是由于背负了过重的历史包袱而作出的妥协的结果。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



