|
0
|
| dummzeuch Stijn Sanders · 技术社区 · 15 年前 |
|
|
1
2
是的,如果都是德尔菲的话,那就可以了。如果接口发生变化,您必须确保编译这两个函数。C++编译器看起来是兼容的,但是要注意其他编译器。 通常,引用计数达到零会导致对象的创建者释放它。在不同的内存管理器中没有问题。 可能的问题是,您的dll仍然通过接口引用一个对象,并调用iunknown.release以在不再需要时降低引用计数。如果由于某种原因,引用的对象已经被冻结,您将得到AVS。关闭应用程序之前,请确保通过引用删除对对象的所有引用(双击全局变量)。 fastmm的调试选项可能会帮助您找到问题所在。 |
|
|
2
0
在DLL之间传递接口没有任何问题。毕竟,每次使用来自WindowsAPI的接口时,都是这样。因此,你的问题就更深了。 缺少guid是一个需要解决的简单问题。只需按ctrl+shift+g,就可以使用com了。Delphi中所有与界面相关的东西在界面有guid时变得更容易,即使你不使用com。 如果您的dll是一个COM dll,那么主机程序将能够检查卸载该dll是否安全。Delphi的COM框架自动跟踪该dll中是否还有活动的对象。当主机希望卸载dll时,它会询问dll是否安全。
您的对象应该是COM对象。宿主程序将使用OS标准创建对象的实例
|
|
zeus · 如何在调整数组大小后保持指向动态数组的指针有效? 1 年前 |
|
|
SignalOne · 德尔福(FMX)循环参考 1 年前 |
|
|
Sascha Ott · 如何从线程调用线程的方法? 1 年前 |
|
|
user1580348 · 问题:如何在上次最小化后还原应用程序? 1 年前 |
|
tua · Delphi的TLinkLabel坏了吗? 2 年前 |
|
|
Frank.Wu · delphi:RGB到HSL不正确 2 年前 |