[英]Initial Object Reference for OLE Automation Object with constructor
我正在尝试连接通过.TLB导出与自动化兼容的接口的库。
TLB在接口内部列出了function
,以检索对象引用; .TLH包含这些作为非静态成员函数,这使我很难在没有对象引用的情况下调用它们; 因此,我在这里有一些鸡和蛋的问题。
从C ++调用function
的正确方法是什么?
在.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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.