[Lazarus-es] ot: firebird/ibexpert

Gastón Dall' Oglio gaston.dalloglio en gmail.com
Sab Sep 6 15:09:52 CEST 2014


Hola Paola.

Haber si te sirve esto. Pero antes una pregunta, ¿hay algun motivo en
especial por el cual desarrolles tus aplicaciones de 64 bits?
Yo desarrollo todas mis aplicaciones en 32 bits, ya sea que despues van a
correr en Windows o Linux de 32 o 64 bits. Esto simplifica mucho las cosas
al hacer deploy en otros equipos, pero tambien al momento de desarrollar,
ya que sucede que varias tools estan compiladas para 32 bits, con lo cual
el CLENTE de Firebird que necesita (esto es, la ddl que ese exe de la tool
puede enlazar) tiene que ser de 32 bits también.
Si el cliente y el servidor de Firebird se conectar por TCP/IP, entonces el
SERVIDOR puede ser 32 o 64 bits, da lo mismo, ya que tu aplicación nunca
enlaza directamente con el servidor. Si en cambio usas el server embedeb de
Firebird, al que tu aplicación se conecta como si se tratara de la dll
cliente, ahi si el SERVIDOR tiene que ser de la misma cantidad de bits que
tu aplicación.

En Windows las librerias de Firebird se ubican en archivos de programas
como cualquier otro programa, con lo cual lo que hago luego de instalarlo
es agregar ese path (ejemplo C:\Program Files
(x86)\Firebird\Firebird_2_5\bin) a la variables PATH de Windows, y con eso
me aseguro que todas las palicaciones y tool (flamerobin, isql, gbak, odbc)
toman las ddl de ahí.

Saludos!


El 5 de septiembre de 2014, 21:37, Martin Gomez <mmgomez en gmail.com>
escribió:

> Eso es exactamente lo que había leído, no recuerdo aún donde.
>
> La DLL en la carpeta de la aplicación es la solución, más aún cuando no
> tienes permisos de administrador para poner cosas en \Windows
>
>
>
> 2014-09-05 21:11 GMT-03:00 José Mejuto <joshyfun en gmail.com>:
>
> El 06/09/2014 1:18, Paola Bruccoleri escribió:
>>
>>> Hola MArtín..
>>> lo q no entiendo es que yo tb tengo win 8.1 64b, IGUAL que esa otra
>>> máquina!.. yo cuando instalé todo (es bastante nueva esta máq) nunca
>>> tuve dramas....
>>> en fin....
>>>
>>>
>> Hola,
>>
>> Posiblemente tengas un fbclient.dll de 32 bit en Windows\System32 y ahí
>> no puede estar en máquinas de 64bits, tiene que estar en Windows\SysWOW64
>> (si parece raro).
>>
>> A ver, me explico.
>>
>> * Máquina de 32 bits, ejecutable de 32 bits
>>
>> Aplicación de 32 bits en "Program Files" + dlls de 32 bits en
>> Windows\System32
>>
>> Hasta aquí normal.
>>
>> * Máquina de 64 bits, ejecutable de 64 bits
>>
>> Aplicación de 64 bits en "Program Files" + dlls de 64 bits en
>> Windows\System32
>>
>> Aparentemente normal.
>>
>> Máquina de 64 bits, ejecutable de 32 bits
>>
>> Aplicación de 32 bits en "Program Files (x86)" + dlls de 32 bits en
>> Windows\SysWOW64
>>
>> Esto si parece más raro verdad ? :)
>>
>> El rollo es que si la app es de 32 bits en un sistema de 64, Windows
>> engaña al programa y le hace ver el SysWOW64 como si se llamar System32,
>> pero si resulta que vas con una app de 64 bits a la carpeta System32 ves un
>> contenido diferente, correspondiente a la máquina en 64 bits.
>>
>> Puedes comprobarlo fácilmente, si tienes un editor hexadecimal de 32 bits
>> abre el archivo kernel32.dll que está en System32, cerca del offset 0x100
>> verás las letras "PE" seguidas de dos ceros, los dos siguientes números
>> indican la plataforma:
>>
>> "4C 01" = 32 bits
>> "64 86" = 64 bits
>>
>> Ahora abre el mismo archivo en SysWOW64 y verás que ahí pone "4C 01" lo
>> que indica que es una DLL de 32 bits.
>>
>> Para estar seguro en estas cosas, pon la DLL en la misma carpeta que el
>> ejecutable y te olvidas de estos líos.
>>
>> --
>>
>> Saludos.
>>
>>
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>
>
>
> --
>> Most good programmers do programming not because they expect to get paid
> or get adulation by the public, but because it is fun to program.
> ​ ​
> *Linus Torvalds*
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20140906/c4bb2373/attachment-0002.html>


More information about the Lazarus-es mailing list