我在VC ++ 2005中创建了ATL COM服务器。我想实现某些库(* .olb)中定义的某些接口。我知道如果我#import这个olb(在.tlh.tli中)我会看到界面。但是我无法使用“实现接口向导”为接口创建存根实现,因为“接口”列表中没有此接口(“注册表”和“文件”选项)。为什么会出现这样的情况呢?我如何自动生成存根实现。提前谢谢。
答案 0 :(得分:1)
您可以编辑.idl文件并使用
[
...
]
library Something
{
importlib("somelibrary.olb");
...
}
然而,这很尴尬,importlib语句必须出现在库块中。这是必要的,因为类型库可能包含coclass定义。
您真正想要的是使用import语句导入创建类型库的IDL。减去coclasses。如果您没有IDL,可以使用OleView.exe,File + View Typelib重新创建它。将所需的接口定义复制并粘贴到您自己的.idl文件中,然后在IDL中使用import MIDL语句。
答案 1 :(得分:0)
我在项目中发现了一个错误。这对图书馆来说太乱了。