Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Plugins sql no cargan desde una dll



  • Hola:
    He hecho una pequeña aplicación de consola que accede a una bbdd postgres. Funciona correctamente e hice una dll con las mismas funcionalidades con el fin de usarla desde otra aplicación de terceros. El problema es que desde la dll siempre me da el error de no cargar el plugin. He colocado los mismos componentes que utiliza la aplicación de consola y que funcionan, en el directorio del ejecutable que usa la dll y que está también en la misma carpeta.
    ¿Se os ocurre el motivo por el que no cargue desde la dll y si desde un .exe?
    Gracias de antemano.


  • Moderators

    Hola

    Eso a veces ocurre por que hay algún archivo que no encuentra. No sé decirte en windows, pero hay programas para ver las dependencias de una librería, búscate alguno y si es algún archivo que te falta o está en una ubicación incorrecta podrás averiguarlo.

    Un saludo



  • @juanki Gracias por responder:
    Según dependency walker, las dependencias están resueltas. He probado a cargar el plugin con QCoreApplication::addLibraryPath(path) y con loadPlugin, que devuelve true pero que sigue dando el mismo error al abrir la bbdd.
    Seguiré probando.
    Gracias.



  • @adelo Me respondo a mi mismo:
    El problema era que estaba usando una variable local en el método que abría la bbdd y perdía el valor. He declarado la variable como privada en la classe y todo solucionado.
    Un error tonto.



  • @adelo En el Dependency Walker tienes el menú "Profiling". Ejecuta "Start Profiling" y mira la ventana de registro.
    Seguramente se carga una DLL en tiempo de ejecución que no tienes.


Log in to reply