es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pasando más de 9 parámetros a través de dynamicCall() en Qt.

Soy completamente nuevo/a en Qt y simplemente estoy tratando de llamar a mi funcionalidad COM (creada en VS2017) desde Qt utilizando dynamicCall(). Aunque puedo llamar a la mayoría de mis funcionalidades, estoy atrapado/a en una función que lleva más de 9 parámetros.

He intentado lo siguiente:

ui->axwidget->dynamicCall("int&,QVariant,QVariant,int,int,int,double,int,Qstring,Qstring", par1, par2,....,par10);

Obtuve el siguiente error:

no se encontró una función miembro coincidente para llamar a "dynamicCall".
nota: La función candidata no es viable: requiere como máximo 9 argumentos, pero se proporcionaron 11.
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que la función dynamicCall() que está siendo utilizada requiere como máximo 9 argumentos, pero el llamador está proporcionando 11 argumentos. Esto significa que la llamada a la función no coincide con ninguna función miembro disponible y no puede completarse.

    Para resolver este problema, una posible solución es dividir la función en múltiples llamadas, pasando los parámetros adicionales en una llamada separada o utilizando una estructura de datos como una QList o un QMap para contener los parámetros. Otra solución podría ser modificar la función que se está llamando para que requiera menos parámetros o crear una función envoltorio que tome menos parámetros para manejar la llamada.

    Además, la documentación de la función dynamicCall() debe ser revisada minuciosamente para asegurarse de que se esté utilizando la sintaxis correcta y los tipos de parámetros adecuados. Esto puede implicar consultar la documentación de Qt, pedir ayuda en foros o consultar con otros desarrolladores de Qt con experiencia en integración COM.

Comments are closed.