Monday, 15 April 2013

c++ - Qt ActiveX dynamicCall: bad parameter count -



c++ - Qt ActiveX dynamicCall: bad parameter count -

i trying utilize activex command in program.

qaxwidget* max = new qaxwidget(); max->setcontrol("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}");

i know there function:

put_channeltype(long newvalue)

but when seek execute it:

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));

i get:

qaxbase: error calling idispatch fellow member put_channeltype: bad parameter count

any thought going wrong ?

edit:

weird thing if call

max->dynamiccall("put_channeltype()");

i not error message...

edit 2:

this fails (as constantin suggested)

qlist<qvariant> varlist; varlist << (int)1; max->dynamiccall("put_channeltype(int)",varlist);

got solved using generatedocumentation() function.

i using activex command in application, mfc one.

it seems function names referring (which in machine generated idispatch wrapper class created vs) not same ones qt listed.

i.e. put_channeltype setchanneltype...

maybe version issue ?

anyways, of import part knowing generatedocumentation() can list functions can phone call dynamiccall.

c++ qt activex

No comments:

Post a Comment