Page 2 of 3

PostPosted: Fri Dec 14, 2007 9:11 am
by Antonio Linares
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

PostPosted: Fri Dec 14, 2007 4:43 pm
by Cgallegoa
Antonio,

>
Si quieres copiamos aqui el contenido de samples\Buildxdp.bat
>

Si, por favor, que incluya los dos PRG's que componen la DLL (MSTDLL1.PRG y PRODUCC.PRG)

Gracias y saludos,

Carlos Gallego

PostPosted: Fri Dec 14, 2007 8:53 pm
by Antonio Linares
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

PostPosted: Fri Dec 14, 2007 8:54 pm
by Antonio Linares
Carlos,

Nosotros hemos probado con samples\pcodedll.prg y samples\TestDllP.prg, solo añadiendo un diálogo en pcodedll.prg con un SAY que usa OemToAnsi()

PostPosted: Fri Dec 14, 2007 9:22 pm
by Cgallegoa
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

PostPosted: Fri Dec 14, 2007 10:11 pm
by Antonio Linares
Carlos,

Bien! :-)

PostPosted: Sat Dec 15, 2007 11:57 am
by csincuir
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

PostPosted: Mon Dec 17, 2007 8:51 pm
by Cgallegoa
Carlos:

Hoy estoy fuera de mi oficina. Tan pronto como regrese lo preparo y te lo envío mañana temprano.

Saludos,

Carlos Gallego

PostPosted: Tue Dec 18, 2007 2:29 am
by csincuir
Muchas gracias Carlos, eres muy amable. Espero entonces.

Saludos.

Carlos Sincuir

PostPosted: Thu Dec 20, 2007 9:23 am
by mmercado
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

PostPosted: Thu Dec 20, 2007 9:26 am
by Antonio Linares
Manuel,

Bienvenido a estos foros!

Un placer y un honor tenerte aqui con nosotros :-)

PostPosted: Thu Dec 20, 2007 4:38 pm
by Armando
Manuel:

Caramba :D . 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

PostPosted: Thu Dec 20, 2007 5:39 pm
by carlos vargas
Bienvenido Maestro
un placer contar con usted, y un honor poder asistirle en cualquier problema.

salu2
carlos vargas

PostPosted: Thu Dec 20, 2007 6:12 pm
by wilsongamboa
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

PostPosted: Thu Dec 20, 2007 8:42 pm
by Cgallegoa
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 :D

Un fuerte abrazo y felíz navidad para tí y los tuyos, y para todos los compañeros fivewineros,

Carlos Gallego