PDA

Ver la Versión Completa : ¿cambiar ibx a fbclient.dll? ¿como recompilar?


pvizcay
08-03-2007, 22:47:19
hola amigos del foro,

estoy trabajando con ibx y firebird, pero quiero hacer que el primero funcione con el fbclient.dll en vez del gds32.dll, más que nada porque de mi aplicación llamo a las herramientas de backup y etc. asi no tengo que mandar las dos dlls (que tampoco es tan grave, tendrá algún inconveniente?)
asi que busque gds32.dll en los fuentes y cambie las dos ocurrencias (ibheader.pas y ibcontrols.pas si mal no recuerdo), el tema que ahora no puedo recompilarlo porque evidentemente mi exe sigue usando el dcu que se encuentra en la carpeta lib y cuando compilo por separado el ibheader me da errores de dependencia (tipo ibxxx.pas fue compilado con otra versión del símbolo, etc).. ¿cúal es la forma correcta de hacer eso? ¿comentarios sobre lo que estoy tratando de hacer?

saludos!

Casimiro Notevi
09-03-2007, 09:50:48
Creo que te estás liando, las IBX son componentes para acceder a interbase/firebird, mientras que gds32.dll y fbclient.dll pertenecen a interbase y firebird, respectivamente.
No especificas qué "herramientas de backups" estás usando, pero es "transparente" el uso de interbase o firebird.

Creo que debes aclarar exactamente qué problema tienes y qué quiéres hacer.

rastafarey
12-03-2007, 16:46:54
Si puedes baja una version de ibx que no venga con delphi.

Aunque no recomiendo lo ibx.

Ibobject,
Fiplus
.
.
.
Otros

pvizcay
13-03-2007, 03:18:43
bueno gracias por responder, no había podido conectarme antes..

entiendo perfectamente lo de fblcient.dll, gds32.dll y que pertenece a cada componente.. lo que yo quiero hacer es que los exes que yo compilo con el delphi del ibx levanten el fbclient.dll en vez del gds32.dll, para ello modifique los fuentes del ibx (ibheader.pas e ibcontrols.pas), osea la constante que dice 'gds32.dll' la cambie por 'fbclient.dll' pero no logré recompilarlos porque delphi usa los dcu de la carpeta lib

no entiendo a que se refiere el otro comentario de que no use los ibx que vienen con delphi, supongo quiere decir baje el ibx actualizado de la página de borland cosa que he hecho..

saludos

axelbb
13-03-2007, 13:42:25
Hola, creo que los componentes MDO Mercury Objects son derivados de los IBX, especialmente preparados para trabajar con Firebird con ambas librerías cliente, a tu elección. Si los IBX son los que creo (¿los de la paleta InterBase?), entonces te darás cuenta que los MDO son idénticos, hasta en los íconos pero en otro color. Inclusive vienen los clones de los InterBase Admin. En tres paletas está todo lo que necesitas para trabajar con ambas librerías de un modo muy cómodo, rápido y eficiente.

Es un proyecto open source, y son excelentes, los uso en sistemas en producción hace ya un par de años, y no usaría ninguna otra conexión mientras pueda usar éstos. Cero problemas. Con algunos leves cambios los adapté para usarlos en los BDS. Aqui está el enlace (http://www.mdolib.com/index.html).

Si estamos hablando de lo mismo, ni te compliques en cambiar tus fuentes de IBX, ya se hizo, y muy, muy bien.

Si metí la pata, y no tienen nada que ver, mis disculpas.

Suerte!!;)

pvizcay
20-03-2007, 15:17:28
hola amigos del foro, estuve ausente y no pude continuar el hilo..

gracias por el comentario de los mdo, ya los tengo visto, pero el proyecto este en cuestión está creado y trabaja con ibx por lo que quiero solucionar el problema tal cual está planteado..

básicamente lo que necesito saber es como recompilar los ibx (o cualquier otro código de la vcl supongo será similar). se que cuando se cambia el fuente de la vcl, delphi no lo toma en cuenta inmediatamente porque utiliza para compilar los dcu que se encuentran en la carpeta lib. cuando quiero recompilar la unit que cambio (ibheader.pas) me dice que otras unidades fueron compiladas con un símbolo distinto del que cambie.. no encuentro ningún proyecto o nada para abrir y compilarlas todos los .pas ; como es eso?

para más información explico nuevamente a que viene todo esto.. quiero que ibx funcione con el fbclient.dll en vez de gds32.dll, porque quiero desde mi programa llamar a los utilitarios del firebird (gbak, gfix, isql, etc.) y no quiero distribuir dos veces la libreria (la gds32.dll para mi exe, y fbclient.dll para los utilitarios que termina siendo lo mismo). Por cierto no uso los componentes de la paleta admin del IBX porque dijeron que van a perder compatibilidad con firebird rápidamente.. comentarios al respecto?

gracias y saludos!

Casimiro Notevi
20-03-2007, 20:35:07
Creo que, como te dije antes, te estás liando.
Para el fbserver, el fbguardian, desinstala lo que tengas de firebird, interbase, busca todos los fbclient y gds32 y bórralo todo.
Ahora reinicia windows, descarga firebird y lo instalas. Se acabó.

pvizcay
21-03-2007, 15:52:39
hola amigo, gracias por contestar
no me estoy confundiendo, no tengo ningún "problema" me anda todo, excepto que quiero que IBX carge fblient.dll en vez de gds32.dll
así de fácil

saludos

Casimiro Notevi
21-03-2007, 16:07:09
hola amigo, gracias por contestar
no me estoy confundiendo, no tengo ningún "problema" me anda todo, excepto que quiero que IBX carge fblient.dll en vez de gds32.dll así de fácil
saludos
Cuando instalas firebird, creo recordar que, una de las casillas tiene que ver con eso, te crea un gds32 que es una copia de fbclient y no tienes nada más que hacer.
Creo que te refieres a eso, no?

pvizcay
21-03-2007, 22:15:03
lee la primer frase de mi primer post:

"estoy trabajando con ibx y firebird, pero quiero hacer que el primero funcione con el fbclient.dll en vez del gds32.dll, más que nada porque de mi aplicación llamo a las herramientas de backup y etc. asi no tengo que mandar las dos dlls (que tampoco es tan grave, tendrá algún inconveniente?)"

axelbb
03-04-2007, 17:48:47
Sí comprendo tu idea, y creo que es buena práctica pasarse a fbclient.dll y olvidarse de gds32.dll, aunque seguramente la mantendrán por mucho tiempo (de hecho, sospecho que sea exactamente el mismo archivo cambiado de nombre y que se aloja en System32, y en eso termine el proceso de compatibilización :p, con renombrar las nuevas fbclient.dll que vayan saliendo, ya estaría resuelto).

El cambiar el fuente de IBX te traerá muchos problemitas pero los acabarás resolviendo, hay que seguir probando ;) . De última, hay formas de cambiar rápidamente tus IBX en los fuentes que ya hiciste por los MDO. Una elegante es desinstalar los IBX, y crearte los mismos componentes que uses heredando directamente de los MDO correspondientes pero llamándolos con los nombres de los IBX. Si las propiedades son las mismas, no debería haber problemas, creo :D.

rastafarey
10-04-2007, 20:07:01
No es el mismp archivo.

El gds32.ddl que crea firebird en system32 en mas pequeño este lo que hace es enlazar al fbclient Y es solo para mantner compatibilidad con las aplicaciones que requieren gds32.dll.


Y una cosa mas no entendi como vas hacer para sacar respaldos, bajar la base de datos y cosa como esas. Si no llevas las dll que hacen dicha tarea para eso te recomiendo que si tu palicacion dbe hacer cosas como esas qu ese metas dentro del .exe y al momento de usarlas las saques las uses y si quieres las borres.