2010-06-10 37 views
1

我在VC++ 2005中創建了ATL COM-server。我想實現某些庫(* .olb)中定義的某個接口。我知道如果我#import這個olb(在.tlh.tli中),我會看到界面。但是我無法使用「實現接口嚮導」爲接口創建存根實現,因爲此接口在「接口」列表中不存在(「註冊」和「文件」選項)。爲什麼可能出現這種情況?我如何自動生成存根實現。提前致謝。ATL「實現接口嚮導」

回答

0

我在項目中發現了一個錯誤。這與圖書館混亂。

1

您可以編輯.idl文件,並使用

[ 
    ... 
] 
library Something 
{ 
    importlib("somelibrary.olb"); 
    ... 
} 

但是這是尷尬,在導入庫語句必須出現在塊內。這是必要的,因爲類型庫可能包含coclass定義。

你真正想要的是使用import語句導入創建類型庫的IDL。減去同班同學。如果您沒有IDL,可以使用OleView.exe,File + View Typelib重新創建它。在你自己的.idl文件中複製並粘貼你想要的接口定義,然後在你的IDL中使用import MIDL語句。

+0

我在該項目中發現了一個錯誤。這與圖書館混亂。 無論如何,謝謝你的方式。我很喜歡。 – 2010-06-11 11:12:30