如何在运行时导入一个TLB和在C ++的命名空间时,一些条件满足?(How to import a

2019-09-18 05:38发布

一般来说,我们在节目的开始导入一个TLB文件中像

#include < stdio.h >
#import " sql.tlb "

但我需要在一定条件下在节目中间满足导入一个TLB文件

我怎样才能做到这一点。 加载DLL有LoadLibrary()但加载TLB可我使用LoadLibrary()

由于TLB使用.dll文件生成的?

Answer 1:

您可以使用在运行时加载类型库LoadTypeLib 。

ITypeLib *ptlib;
LoadTypeLib("sql.tlb", &ptlib);

你那么做的ptlib在空气中那种,作为你真的不说什么你想用它做。

ptlib是支撑所述物体的ITypeLib接口。 它有一个可以调用类型库枚举和迭代类型的方法。 通常你结合其他的接口,如使用它的ITypeInfo等。

我发现了一个更全面的教程式的文件在这里 。 此外,该链接这里有一些更详细,还它表明你需要使用头文件和链接库。

Header                    oaidl.h, oaidl.idl
Library                   oleaut32.lib, uuid.lib
Windows Embedded CE       Windows CE 2.0 and later
Windows Mobile            Windows Mobile Version 5.0 and later


文章来源: How to import a tlb and a namespace in c++ at runtime when some condition meets?