背景:供应商为我提供了 ActiveX Dll,没有头文件或 .tlb 文件或任何类似的东西。我正在使用 Visual Stdio 2010 并使用 win32 C++。
我面临的问题是如何加载或引用 dll?
我无法通过解决方案资源管理器引用 dll,因为它是非托管项目。当我尝试使用#import 时,它给了我编译错误,提示找不到 XXX.tlb 文件。但我没有 .tlb 类型的文件。我尝试的另一个选项是使用 OLE 查看器打开 dll 并复制 dll 定义,然后粘贴到我使用 Visual Studio 创建的 .idl 扩展名文件中。然后我在 idl 文件上执行 midl 以创建 .h 文件,但这也无济于事。当我尝试使用这些类时,它给了我“无法使用或引用抽象类”错误。
还有其他关于此事的问题,但不是直截了当的,答案没有标记为已回答或赞成。
我想知道在 Visual Studio 2010 的 win32 C++ 项目中加载 ActiveX dll 有哪些不同的方法,什么时候应该首选哪一种?如果有一个线程实际上解决了我的问题,请指出我。
谢谢