2011-10-14 75 views
1

我正在開發一個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。但編譯器仍然給出相同的錯誤,無法找到該文件。

+0

使用文件名總是青睞導入TLB文件直接在頭(.h)文件,而不是直接希望編譯器能找到它背透註冊表中。指定.tlb文件,如果您單獨擁有它或嵌入它的DLL。 –

+0

@Hans Passant我也試過這種方法。但它沒有工作,我猜。請檢查我在問題結尾添加的第二點 – kairav

回答

3

您可以使用以下#IMPORT指令

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

相關問題