我正在尝试在我的程序中使用 ActiveX 控件。
QAxWidget* mAX = new QAxWidget();
mAX->setControl("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}");
我知道有一个功能:
put_ChannelType(long newValue)
但是当我尝试执行它时:
mAX->dynamicCall("put_ChannelType(long)",2);
mAX->dynamicCall("put_ChannelType(int)",2);
mAX->dynamicCall("put_ChannelType(long)",QVariant(2));
mAX->dynamicCall("put_ChannelType(int)",QVariant(2));
我得到:
QAxBase: Error calling IDispatch member put_ChannelType: Bad parameter count
知道出了什么问题吗?
编辑:
奇怪的是如果我打电话
mAX->dynamicCall("put_ChannelType()");
我没有收到任何错误消息...
编辑2:
这也失败了(正如康斯坦丁建议的那样)
QList<QVariant> varlist;
varlist << (int)1;
mAX->dynamicCall("put_ChannelType(int)",varlist);