プログラムで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);