具有构造函数的OLE自动化对象的初始对象引用

时间:2011-11-18 11:40:20

标签: c++ com ole

我正在尝试通过.TLB连接导出自动化兼容接口的库。

TLB在接口内列出function以检索对象引用; .TLH将这些作为非静态成员函数包含在内,这使我很难在没有对象引用的情况下调用它们。因此,我在这里有一点鸡蛋和鸡蛋的问题。

从C ++调用function的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

在.tlb文件上使用#import,然后使用适当智能指针类型的CreateInstance()方法实例化对象,然后只调用成员函数。

这样的事情(省略错误处理):

 #import ThatTlbFile.tlb

 //at some point in your code you have to init COM
 CoInitialize(0);

 // once COM is initialized
 IInterfaceOfInterestPtr object;
 // this will ask COM to instantiate an object    
 object.CreateInstance( __uuidof( ComClassOfInterest ) );
 object->CallMethod();