首页| 论坛| 消息

标题:在Qt中调用ActiveX的方法时,如何传递IDispatch指针?
作者:zhawk
日期:2007-01-03 22:55
内容:

假设已创建两个ActiveX控件x1、x2,类型均为QAxWidget。现在需要把x1的IDispatch接口指针,作为方法参数传递给x2的方法method1。在Qt中该如何实现呢?
我翻遍了Qt的帮助文档,上面只提到了要调用QAxBase::asVariant进行转换,但没有给出例子。我尝试了下列代码,都不行:
x2.dynamicCall("method1(const QVariant&)", x1.asVariant());
x2.dynamicCall("method1(QVariant)", x1.asVariant());
x2.dynamicCall("method1(IDispatch*)", x1.asVariant());
x2.dynamicCall("method1(QAxBase::asVariant())", x1.asVariant());
x2.dynamicCall("method1(QAxObject*)", x1.asVariant());
x2.dynamicCall("method1(QAxObject&)", x1.asVariant());


#1 [zhawk 01-04 13:18]
我通过直接调用x2对象的IDispatch::Invoke函数解决了这个问题。但这么做已经和Qt无关了,希望哪位高人能给出Qt的解决办法。
#2 [lxkjlzz 08-30 16:00]
我也想知道啊,你的问题解决没,有QAxObject *的指针,但参数要求是Idispatch *怎么传啊
#3 [18335135506 04-08 14:41]
解决了么

回复 发表
主题 版块