![]() |
Paths de la aplicacion
Buen dia, seguramente esto es sencillo pero no pude dar con informacion sobre esto en los foros, pues resulta que mi aplicaction utiliza los componentes zeos para la conexion a bdd postgre , para esto...zeos necesita algunas dll, las cual o bien se pueden poner en las carpetas del sistema o en su defecto en la misma carpeta del ejecutable.... de cualquiera de estas dos maneras no ha problema alguna, ahora bien, si digamos dentro de la carpeta donde esta mi ejecutable, creo una carpeta que se llame 'lib' y meto alli las dll, mi aplicacion dice que no las encuentra, la pregunta es como agrego esta path entonces a mi aplicacion??? " ..\lib " .
Gracias |
Hola cascarrabias, con ExtractFilePath obtienes el path donde se esta ejecutando tu aplicación.
Saluditos |
Cita:
Busca/Revisa sobre variables de entorno. Revisa SetEnvironmentVariable. |
Hola,
Pienso que añadir la ruta al PATH puede no ser la mejor opción puesto que pueden existir otras librerías que entren en conflicto con la que nos proponemos usar y que se encuentren antes que la nuestra en el path. Por decir algo, acabo de hacer una búsqueda por libmysql.dll y he encontrado por lo menos ocho copias en mi sistema, varias de la cuales se encuentran en directorios del PATH. Lo ideal, creo yo, sería cargar manualmente la librería de manera que podamos especificar explícitamente la ruta. Sumergiéndome un poco en el código de ZEOS, he visto que cada driver se implementa en una unidad del tipo ZPlainXXXXX, y en la inicialización de cada una de estas unidades se instancia un objeto Loader que es el que se encarga de cargar las librerías correspondientes al driver. Por ejemplo, para MySQL5 se ve algo similar a esto:
El parámetro del constructor es una lista de librerías a buscar, en este caso, libmysl.dll y libmysql5.dll, pero no veo una manera limpia de agregar librerías a este constructor. Entonces, y para no alterar el código fuente de ZEOS, he probado esto: 1. Asegurarnos de que la aplicación no intente conectar automáticamente al inicio. Para ello basta poner ZConnection.Active en false en el inspector de objetos. 2. Hacer explícitamente la conexión al inicio, cepillándonos el Loader de la inicializacion de ZPlainXXXXX y creándonos el nuestro:
Al parecer funciona aunque no he probado más a fondo. En el caso de Postgres habría que sustituir ZPlainMySQL5 por ZPlainPostgreSql87 o ZPlainMySQL58, según la versión que se use. // Saludos |
ok
Cita:
|
Cita:
Gracias Roman.....hare unas cuantas pruebas haber si lo logro hacer! |
|
gracias
Gracias...sigo trabajando en lo que me comento roman ya que no lo pude lograr para postgre....gracias de nuevo roman y saludos
|
La franja horaria es GMT +2. Ahora son las 06:49:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi