Problemas con actualización a FWH 7.12 y xHarbour 1.1.0
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Carlos,
Nosotros copiamos el código que crea el diálogo, usando OemToAnsi(), al ejemplo samples\pcodedll.prg y funcionó perectamente desde samples\TestDllP.prg
Para construir la DLL usamos samples\Buildxdp.bat que es una variación de samples\Buildhdp.bat
Si quieres copiamos aqui el contenido de samples\Buildxdp.bat
Nosotros copiamos el código que crea el diálogo, usando OemToAnsi(), al ejemplo samples\pcodedll.prg y funcionó perectamente desde samples\TestDllP.prg
Para construir la DLL usamos samples\Buildxdp.bat que es una variación de samples\Buildhdp.bat
Si quieres copiamos aqui el contenido de samples\Buildxdp.bat
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Carlos,
%hdir%\bin\b32\harbour %1 /n -D__EXPORT__ /i..\include;%hdir%\include /w /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT
echo -O2 -I%hdir%\include %1.c > b32.bc
%bcdir%\bcc32 -M -c @b32.bc
:ENDCOMPILE
IF EXIST %1.rc %bcdir%\brc32 -r %1
echo c0d32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.dll, + >> b32.bc
echo %1.map, + >> b32.bc
echo %hdir%\obj\b32\maindllp.obj + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\cw32.lib, >> b32.bc
IF EXIST %1.res echo %1.res >> b32.bc
%bcdir%\ilink32 -Tpd -aa @b32.bc
%hdir%\bin\b32\harbour %1 /n -D__EXPORT__ /i..\include;%hdir%\include /w /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT
echo -O2 -I%hdir%\include %1.c > b32.bc
%bcdir%\bcc32 -M -c @b32.bc
:ENDCOMPILE
IF EXIST %1.rc %bcdir%\brc32 -r %1
echo c0d32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.dll, + >> b32.bc
echo %1.map, + >> b32.bc
echo %hdir%\obj\b32\maindllp.obj + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\cw32.lib, >> b32.bc
IF EXIST %1.res echo %1.res >> b32.bc
%bcdir%\ilink32 -Tpd -aa @b32.bc
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Antonio,
Hemos avanzado un poco en la actualizacion y decidimos manternernos con FWH 7.12 y xHarbour 1.1.0. . Vamos a darle la lucha.
Estos han sidos los avances:
1.- El error en TGet con que iniciamos este post lo solucionamos con la prouesta que tú hiciste el 04-12-2007 en el post "una corrección" en este foro. Modificamos TGet.prg y Window.prg y listo.
2.- Anteriormente en las DLLs una función invocaba a otras funciones que están dentro la misma DLL simplemente con su nombre: Funcionxx(paramxx). La nueva versión de xHarbour nos puso de cabeza, incluyendo lo del OemToAnsi() en los Says, no reconocimiento de variables Públicas ni Privadas, entre otros. Descubrimos que si en vez de invocar directamente a la función los hacemos con HB_LIBDO("funcionxx","paramxx") vuelve a funcionar sin problemas, inclusive lo del OemToAnsi y las variables. Conclusión: para ejecutar una función dentro de una DLL, independiente de dónde se llame, dentro del ejecutable principal o dentro de la misma DLL, hay que hacerlo con HB_LIBDO().
Seguimos avanzando e iremos comentando cómo nos va.
Saludos,
Carlos Gallego
Hemos avanzado un poco en la actualizacion y decidimos manternernos con FWH 7.12 y xHarbour 1.1.0. . Vamos a darle la lucha.
Estos han sidos los avances:
1.- El error en TGet con que iniciamos este post lo solucionamos con la prouesta que tú hiciste el 04-12-2007 en el post "una corrección" en este foro. Modificamos TGet.prg y Window.prg y listo.
2.- Anteriormente en las DLLs una función invocaba a otras funciones que están dentro la misma DLL simplemente con su nombre: Funcionxx(paramxx). La nueva versión de xHarbour nos puso de cabeza, incluyendo lo del OemToAnsi() en los Says, no reconocimiento de variables Públicas ni Privadas, entre otros. Descubrimos que si en vez de invocar directamente a la función los hacemos con HB_LIBDO("funcionxx","paramxx") vuelve a funcionar sin problemas, inclusive lo del OemToAnsi y las variables. Conclusión: para ejecutar una función dentro de una DLL, independiente de dónde se llame, dentro del ejecutable principal o dentro de la misma DLL, hay que hacerlo con HB_LIBDO().
Seguimos avanzando e iremos comentando cómo nos va.
Saludos,
Carlos Gallego
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Carlos.
Quiero tomarte la palabra, molestandote si es posible me puedas enviar un ejemplo lo más completo que puedas, (por favor, ya que soy novato en esto de las dll's), incluyendo fuentes y scripts de compilación y linqueo, para poder tener un buen punto de inicio en esta otra forma de programar.
Te comento que yo actualmente, traslado el ejecutable completo al cliente cada vez que hago una actualización o corrección a mis sistemas, y a veces es una modificación pequeña, pero igual tengo que trasladar el ejecutable nuevamente.
Bueno, agradeciendo anticipadamente tu ayuda, y como tu dices, de repente ya no estaras tan solo en esto.
Saludos.
Carlos Sincuir
sincuir@yahoo.com
Quiero tomarte la palabra, molestandote si es posible me puedas enviar un ejemplo lo más completo que puedas, (por favor, ya que soy novato en esto de las dll's), incluyendo fuentes y scripts de compilación y linqueo, para poder tener un buen punto de inicio en esta otra forma de programar.
Te comento que yo actualmente, traslado el ejecutable completo al cliente cada vez que hago una actualización o corrección a mis sistemas, y a veces es una modificación pequeña, pero igual tengo que trasladar el ejecutable nuevamente.
Bueno, agradeciendo anticipadamente tu ayuda, y como tu dices, de repente ya no estaras tan solo en esto.
Saludos.
Carlos Sincuir
sincuir@yahoo.com
Hola Carlos, Antonio, Alfredo y todos los demás amigos, ayer decidí regresar y darme otra oportunidad de migrar definitivamente a FWH, hace 2 años hice un intento y me encontré con muchas dificultades, ahora veremos si puedo. Hoy mismo compré la versión 7.12 (apenas la estoy desempacando) y estoy seguro que con la ayuda de todos podré por fin realizar la tan ansiada migración.
Estoy algo empolvado porque ni siquiera estaba visitando los foros (que encuentro tan cambiados:-) pero espero ponerme pronto al corriente.
Aprovecho para desear a toda la comunidad FiveWinera muchas bendiciones en esta navidad y en todo el 2008.
Por cierto Carlos, no eres el más viejo, en octubre cumplí 63 por lo que me llevo ese honor, aunque también soy el más joven de todos porque he sido joven por muchos más años que ustedes
Que Dios los Bendiga.
Manuel Mercado
Estoy algo empolvado porque ni siquiera estaba visitando los foros (que encuentro tan cambiados:-) pero espero ponerme pronto al corriente.
Aprovecho para desear a toda la comunidad FiveWinera muchas bendiciones en esta navidad y en todo el 2008.
Por cierto Carlos, no eres el más viejo, en octubre cumplí 63 por lo que me llevo ese honor, aunque también soy el más joven de todos porque he sido joven por muchos más años que ustedes
Que Dios los Bendiga.
Manuel Mercado
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Manuel:
Caramba . cuanto tiempo ?. Me alegra saber que estas de vuelta a la lid y bienvenido.
Seguramente con tu capacidad y el apoyo de todo este hermoso foro pronto habras saltado al mundo de los 32bits.
Con afecto, Armando
Caramba . cuanto tiempo ?. Me alegra saber que estas de vuelta a la lid y bienvenido.
Seguramente con tu capacidad y el apoyo de todo este hermoso foro pronto habras saltado al mundo de los 32bits.
Con afecto, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- carlos vargas
- Posts: 1421
- Joined: Tue Oct 11, 2005 5:01 pm
- Location: Nicaragua
- wilsongamboa
- Posts: 439
- Joined: Wed Oct 19, 2005 6:41 pm
- Location: Quito - Ecuador
Maestro Manuel Mercado
Primeramente permitame congratularme al saber que esta en buen estado de salud y que va a regresar a los foros
Me ha causado una gran conmocion su regreso ya que supongo dara soporte a sus magnificas clases TSxxxxx
y como decia el maestro Antonio ES UN HONOR el estar en un foro con su persona
Un abrazo desde Quito - Ecuador
Att
Primeramente permitame congratularme al saber que esta en buen estado de salud y que va a regresar a los foros
Me ha causado una gran conmocion su regreso ya que supongo dara soporte a sus magnificas clases TSxxxxx
y como decia el maestro Antonio ES UN HONOR el estar en un foro con su persona
Un abrazo desde Quito - Ecuador
Att
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Wilson.josenet@gmail.com
Maestro Manuel:
Qué gratísima noticia tenerte de vuelta por estos lares. Me alegro mucho que estés bien de salud y por favor cuenta conmigo en tu proceso de migración. Para mí será un honor ayudarte en lo que esté en mi humilde alcance. Entre jovenes viejos nos sacaremos esto adelante
Un fuerte abrazo y felíz navidad para tí y los tuyos, y para todos los compañeros fivewineros,
Carlos Gallego
Qué gratísima noticia tenerte de vuelta por estos lares. Me alegro mucho que estés bien de salud y por favor cuenta conmigo en tu proceso de migración. Para mí será un honor ayudarte en lo que esté en mi humilde alcance. Entre jovenes viejos nos sacaremos esto adelante
Un fuerte abrazo y felíz navidad para tí y los tuyos, y para todos los compañeros fivewineros,
Carlos Gallego