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

var
   intf: ITest;

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

我必须做些什么来破坏它以释放内存。或不?

最佳答案

你最好用以下方式释放内存

       intf := nil;

当您不再需要它时。如果使用try...finally intf := nil;块,或者如果Destroy定义为intf,即类属性,则最好使用fIntf重写方法。

如果在堆栈上定义了intf,它将在方法结束时自动释放。编译器生成了一个隐藏的try...finally intf := nil; end块,以释放intf实例。

10-06 12:17