gpt4 book ai didi

.net - 在Delphi中销毁COM对象

转载 作者:行者123 更新时间:2023-12-03 14:49:18 25 4
gpt4 key购买 nike

有一些.net程序集,通过COM在delphi中调用它。

var
intf: ITest;

...
intf:= CreateComObject(CLASS_TEST) as ITest;
...
//here comes some stuff
...

我必须做点什么来破坏它以释放内存吗?或者不是?

最佳答案

COM 对象是引用计数的,当引用计数达到零时,它们会自动销毁。每当您的代码添加或删除对象的引用时,编译器都会自动添加对 _AddRef_Release 接口(interface)方法的调用。将引用 COM 对象的变量设置为 nil 将调用 _Release (减少引用计数),如果引用计数达到零,该对象也会被释放(它不会如果引用计数不为零)。当变量超出范围时(即局部变量,当过程退出时),如果该变量引用 COM 对象(或任何引用计数的 Delphi 接口(interface)),编译器也会调用 _Release。

关于.net - 在Delphi中销毁COM对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6475882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com