Qt ActiveX dynamicCall: recuento de parámetros incorrectos

Estoy tratando de usar un control ActiveX en mi progtwig.

QAxWidget* mAX = new QAxWidget(); mAX->setControl("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"); 

Sé que hay una función:

 put_ChannelType(long newValue) 

Pero cuando bash ejecutarlo:

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

Yo obtengo:

 QAxBase: Error calling IDispatch member put_ChannelType: Bad parameter count 

Alguna idea de lo que va mal ?

EDITAR:

Lo raro es que si llamo

 mAX->dynamicCall("put_ChannelType()"); 

No recibo ningún mensaje de error …

EDIT 2:

Esto también falla (como sugirió Constantin)

 QList varlist; varlist <dynamicCall("put_ChannelType(int)",varlist); 

Consiguió esto resuelto usando la función generateDocumentation() .

Estaba usando este control ActiveX en otra aplicación, pero una MFC.

Parece que los nombres de funciones a los que me refería (que estaban en una clase de envoltorio IDispatch generada por una máquina creada por VS) no eran los mismos que los de Qt enumerados.

ie put_ChannelType es en realidad SetChannelType …

Tal vez esto es sólo un problema de versión?

De todos modos, lo importante es saber que generateDocumentation() puede enumerar todas las funciones a las que puede llamar con dynamicCall .

¿Está bien? mAX-> dynamicCall (“put_ChannelType (const QVariant &)”, (long) 2);