背景:
- .TLB 文件包含用“X”语言编写的接口(interface)。我没有 .h、.idl、.tlh 或任何其他头文件 - 只有 .TLB 文件。语言“X”不导出兼容的 .h、.idl 等。
- 我使用 VS 向导将 ATL 简单对象添加到我的 ATL 项目中。
我想向简单 ATL 对象的接口(interface)添加一个方法,该对象使用 .TLB 定义的类型之一作为参数。
// Something like the following in the .idl file:
interface ISomeInterface : IUnknown {
HRESULT SomeMethod([in] ITypeFromTLB* aVal); // ITypeFromTLB declared in .TLB file.
};
我该怎么做?我希望有一个向导,或者 .idl 接口(interface)声明中的一行可以引入 .tlb 信息。 midl 的 include(无 .tlb)、import(无 tlb)和 importlib(仅库)似乎没有提供解决方案(我需要代理/ stub 才能工作,所以我不能把这个使用 importlib 命令在库声明中)。
最佳答案
使用#import在 cpp/h 中将 TLB 接口(interface)引入您的命名空间。
关于c++ - 如何在 VS C++ 中使用 .tlb 类型创建接口(interface)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2473595/