1

我正在开发一个 FireBreath 项目,该项目制作了一个包含 ActiveX 控件功能的插件应用程序。我什至有 ActiveX 控件的源代码。

基于 FireBreath 示例页面中提供的示例示例,我编写了必要的包装类来包装 Active X 控件。

为了从firebreath项目调用事件接口,activex控件的类和函数,我从firebreath示例页面下载的程序使用这样的语句将activex控件类型信息暴露给项目

// Import the ActiveX control's typelib so we can easily call methods, etc.
// on the ActiveX control.
#import "PROGID:FBExampleCtl.xpcmdbutton" no_namespace, raw_interfaces_only$

但是当我在我的程序中使用这样的东西时,它会给出一个错误,找不到标题中包含的类型库。

所以我无法理解如何将 activex 控件的类型库公开给我的项目,也无法从我的程序中使用类型库中定义的方法和函数。

ps:1)我还安装了Oleview来检查类型库在系统中是否可用。从那我也尝试了另一种选择

#import "GUID of the typelibrary". But this also didnot work.

2)我也试过

#import "myrequireddll.dll"  

并且还提到了调试环境中dll的路径。但是编译器仍然给出同样的错误,无法找到该文件。

4

2 回答 2

3

您可以使用以下 #IMPORT 指令直接在头文件 (.h) 中导入 TLB 文件

#import "C:\<PATH_TO_YOUR_TLB_FILE>.tlb" no_namespace, raw_interfaces_only

于 2013-02-04T16:42:11.910 回答
-1

查看我的博客为 MASM32 编程设置 Visual Studio 2010上的这篇文章。然而,它谈到了为 MASM32 设置,它展示了如何将第三方类型库和包含文件添加到您的项目中。

于 2011-10-20T01:47:01.447 回答