PDA

Ver la Versión Completa : Al ejecutar, falta una DLL


andre
01-09-2003, 14:58:38
Hola amigos,

Recientemente termine una aplicacion y al probarla en la maquina del usuario me arroja el error de que no encuentra qtintf70.dll. Entonces probe copiar la dll al mismo directorio de la aplicacion y se ejecuto, luego en uno de los formulario arrojo el error "error en el archivo midas.dll"

Que tengo que hacer para publicar el archivo ejecutable y que no necesite agregar esas dll y como solucionar el problema con midas.dll.

Muchas gracias.

Pandre
03-09-2003, 18:16:58
Hola:

Yo tube el mismo problema con una aplicación que me pedía una DLL sin yo haber programado nada para tal. Me di cuenta de que la DLL que me pedía era una Runtime para aplicaciones creadas en Delphi, pero para Kylix (la versión de Linux).

Resulta que Delphi, al insertar una unidad en la cláusula USES lo hace con su nombre, por ejemplo Clipboard. En este caso, lo ha hecho anteponiendo la letra "q" al nombre de la unidad, que corresponde a la unidad de Kylix aunque Delphi puede compilarla.

Resumiendo, está usando una unidad de CLX en lugar de VCL.

En mi caso, la solución fue buscar en las uses las unidades que empezaban por Q. Simplemente borré las Q para que las unidades fuesen de Delphi, no de Kilyx. Esto dejó de darme errores y de pedir DLLs de Runtime.


Ejemplo de mi caso con la unidad "Clipboard":

uses Forms, ....., QClipboard;

Con esa unidad, me pedía una DLL, y sustituí la unidad por:

uses Forms, ....., Clipboard;

Sin la "Q". Desaparecieron los problemas.

Es posible que se te esté presentando el mismo problema, de usar CLX en lugar de VCL. Prueba a hacer lo que yo, a ver si tienes suerte.

andre
04-09-2003, 14:02:51
Muchas gracias Jose,

Diste en el clavo, ahora ya no necesito publicar esa DLL molesta.

Saludos de argentina.

guillotmarc
04-09-2003, 14:21:03
Hola.

¿ Se ha arreglado el problema con Midas.dll ?. Supongo que no.

El problema más habitual con la Midas.dll, es que cuando se ejecuta por primera vez, se registra en que carpeta se encontraba, de forma que cuando se quiere volver a ejecutar, tiene que ser siempre desde ese mismo directorio. Asi pués, es mejor no ponerla en la carpeta de la aplicación, puesto que si instalas otra aplicación que también utiliza Midas, intentará usar el Midas.dll que tiene en su carpeta, pero se encontrará con que está registra en otra carpeta, y fallará.

Personalmente prefiero dejar la Midas.dll en el directorio de Sistema. Una vez copiada allí, para registrarla, ejecuta desde la linea de comandos : regsrv32 C:\Windows\System32\Midas.dll

NOTA: Tienes otra opción que es linkar directamente la dll dentro del ejecutable de la aplicación. El ejecutable será un poco más grande, pero no tendrás que distribuir ninguna dll. Esto lo consigues añadiendo MidasLib en el Uses del formulario principal.

Si usas dbExpress puedes añadir otros modulos para ahorrarte la distribución de la dll con el driver de la base de datos que utilizes. Para consultarlo lo mejor es que mires en la Ayuda de Delphi, el apartado deploying database applications

Saludos.

andre
04-09-2003, 14:33:02
Tenes razon Marc, luego de hacer esta pregunta encontre en la documentacion el tema que mencionaste y entonces no sabia como agregar archivos DCU al proyecto, a lo que hice una nueva pregunta al foro y me respondieron lo mismo que vos, asi que por eso no informe del problema con midas.dll.

Perdona esa equivocacion, quizas hubiese sido mejor haber seguido en este mismo hilo. Le debo muchas gracias a todos por la colaboracion.

Saludos.