gpt4 book ai didi

c++ - 如何在运行时加载 COM DLL

转载 作者:可可西里 更新时间:2023-11-01 11:04:27 26 4
gpt4 key购买 nike

我有一个 VB6 COM DLL。我想从 C++ 中使用它。我知道如何注册它,从 DLL 生成一个 tlb 文件,并在 C++ 中#import它。

但是,我希望在运行时动态地加载和使用这样的 DLL,而无需提前知道它们。这可能吗?

谢谢,

最佳答案

是的,但你需要把问题弄清楚。

有时,您确实预先知道 COM 接口(interface),只是不知道实现。在这种情况下,您可以创建接口(interface)的虚拟实现并 #import 那个。在运行时,您仍然会注册真正的组件,从中获取对象(可能通过 CoCreateInstance)并将其存储在适当的智能指针中。

在 VB6 中,它有点不直接。这增加了一个间接级别。阅读 IDispatch。您需要获取该已知接口(interface)来描述未知接口(interface)。这样就可以在运行时获取未知接口(interface)。

关于c++ - 如何在运行时加载 COM DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2973304/

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