2010-06-10 78 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