ATL“实现界面向导”

时间:2010-06-10 12:47:16

标签: visual-c++ com atl wizard

我在VC ++ 2005中创建了ATL COM服务器。我想实现某些库(* .olb)中定义的某些接口。我知道如果我#import这个olb(在.tlh.tli中)我会看到界面。但是我无法使用“实现接口向导”为接口创建存根实现,因为“接口”列表中没有此接口(“注册表”和“文件”选项)。为什么会出现这样的情况呢?我如何自动生成存根实现。提前谢谢。

2 个答案:

答案 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)

我在项目中发现了一个错误。这对图书馆来说太乱了。