我正在开发一个FireBreath项目,该项目制作一个包装ActiveX控件功能的插件应用程序。我甚至有ActiveX控件的源代码。如何将类型库包含在visual C++项目中?
根据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。但编译器仍然给出相同的错误,无法找到该文件。
使用文件名总是青睐导入TLB文件直接在头(.h)文件,而不是直接希望编译器能找到它背透注册表中。指定.tlb文件,如果您单独拥有它或嵌入它的DLL。 –
@Hans Passant我也试过这种方法。但它没有工作,我猜。请检查我在问题结尾添加的第二点 – kairav