QAxBase::dynamicCall() 类型与 BSTR 不匹配

问题描述

我目前正在使用 QTaxcontainer 在一个简单的主文件中使用 COM。

我有一个对象:

QAxObject *myComObj("the.Name");

当我成功访问一些简单的函数时,它被正确初始化:

myComObj->dynamicCall("easyFun()");

现在我有一个更复杂的方法来访问它需要一个BSTR,它在activeX端定义为:

[id(2)] void myfun(BSTR* arg1,short arg2,long arg3,BSTR* arg4,short arg5);

我尝试通过以下方式访问它:

myComObj->dynamicCall("myfun(BSTR*,short,long,BSTR*,short)",L"A string",12,13,1);

myComObj->dynamicCall("myfun(BSTR*,"A string",1);

myComObj->dynamicCall("myfun(const QString&,const QString&,1);

但我总是收到“参数 0 中的类型不匹配”错误。

知道如何将 BSTR 作为参数传递给 QAxBase::dynamicCall() 吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)