我正在開發一個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