Page 1 of 1

De Clipper a Harbour/xHarbour

Posted: Sun Oct 15, 2006 4:26 pm
by Manuel Aranda
Estoy tratando de compilar/enlazar un sencillo prg en clipper para pasarlo a 32 bit en modo consola , con el siguiente build.bat que encontré en este foro para tal fín, he probado tanto con harbour como con xharbour y el resultado es que no se ve nada por pantalla aunque se crea el ejecutable. ¿Que estoy haciendo mal?

Code: Select all

@ECHO OFF
CLS

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=c:\harbour
set bcdir=c:\borland\bcc55\bin

%hdir%\bin\harbour %1 /n /i..\include;%hdir%\include /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

echo -O2 -e%1.exe -I%hdir%\include %1.c > b32.bc
%bcdir%\bcc32 -M -c @b32.bc
:ENDCOMPILE

echo c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\vm.lib + >> b32.bc
echo %hdir%\lib\gtwin.lib + >> b32.bc
echo %hdir%\lib\lang.lib + >> b32.bc
echo %hdir%\lib\macro.lib + >> b32.bc
echo %hdir%\lib\rdd.lib + >> b32.bc
echo %hdir%\lib\dbfntx.lib + >> b32.bc
echo %hdir%\lib\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\dbffpt.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
echo %hdir%\lib\debug.lib + >> b32.bc
echo %hdir%\lib\common.lib + >> b32.bc
echo %hdir%\lib\pp.lib + >> b32.bc
echo %hdir%\lib\codepage.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc  
rem echo %hdir%\lib\ace32.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib, >> b32.bc

ECHO * 
ECHO Linking...
%bcdir%\ilink32 -Gn -Tpe -s @b32.bc

rem delete temporary files
rem @del %1.c

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
%1
GOTO EXIT
ECHO

:LINKERROR
rem PAUSE * Linking errors *
GOTO EXIT

:SINTAX
ECHO    SYNTAX: Build [Program]     {-- No especifiques la extensi¢n PRG
ECHO                                {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO The specified PRG %1 does not exist

:EXIT

Posted: Sun Oct 15, 2006 7:08 pm
by Antonio Linares
Manuel,

En principio debería funcionar bien. Prueba con un pequeño ejemplo y recuerda hacer scroll verticalmente, por si la salida a pantalla se realiza más hacia abajo.

Posted: Sun Oct 15, 2006 7:36 pm
by Manuel Aranda
Hola Antonio:

Ya lo probé con un pequeño ejemplo, y nada, tanto con Harbour como con xHarbour se crea el exe pero solo aparece una ventana negra al ejecutarlo. ¿Te importaría probarlo? Gracias.

Un saludo,
Manuel

Posted: Sun Oct 15, 2006 8:11 pm
by Antonio Linares
Manuel,

Lo hemos probado con el Harbour más reciente del CVS y funciona bien. El ejemplo es harbour\tests\clasname.prg:
Image

Posted: Sun Oct 15, 2006 9:45 pm
by Manuel Aranda
Pues no me lo explico, pues con la misma versión de Harbour, el mismo build.bat y el mismo prg los resultados son distintos. He probado el ejecutable en dos sistemas con XP y en otro con W98 y no funciona. ¿¿¿???
Image

Posted: Sun Oct 15, 2006 10:30 pm
by Antonio Linares
Manuel,

Te envio por email el build que he usado.

Posted: Mon Oct 16, 2006 3:38 pm
by Manuel Aranda
Disculpa Antonio, ¿te importaría enviarmelo de nuevo a mareli@tiscali.es ?
Tenia el e-mail desactualizado en el perfíl. Ya lo corregí.

Saludos y gracias.
Manuel

Posted: Mon Oct 16, 2006 4:36 pm
by Antonio Linares
Manuel,

Enviado,

Posted: Fri Oct 20, 2006 8:28 pm
by goosfancito
Manuel Aranda wrote:Disculpa Antonio, ¿te importaría enviarmelo de nuevo a mareli@tiscali.es ?
Tenia el e-mail desactualizado en el perfíl. Ya lo corregí.

Saludos y gracias.
Manuel
No probaste usar el xmate?

Posted: Mon Oct 23, 2006 4:58 pm
by Manuel Aranda
Gracias Goosfancito, ya lo creo que he probado xMate pero tampoco. Me marcar los siguientes errores:

Code: Select all

Error: Unresolved external '_hb_sxDeCrypt' referenced from C:\HARBOUR\LIB\RDD.LIB|dbf1
Error: Unresolved external '_hb_sxPtoD' referenced from C:\HARBOUR\LIB\RDD.LIB|dbf1
Error: Unresolved external '_hb_sxDtoP' referenced from C:\HARBOUR\LIB\RDD.LIB|dbf1
Error: Unresolved external '_hb_sxEnCrypt' referenced from C:\HARBOUR\LIB\RDD.LIB|dbf1
Error: Unresolved external '_HB_FUN_DBFFPT' referenced from C:\HARBOUR\LIB\RDD.LIB|rddsys
Info: Link time = 0.36 seconds
Creo que pudiera tratarse de las lib C:\Harbour\dbffpt.lib y
C:\Harbour\hbsix.lib.
Mi pregunta es: pueden incluirse estas librerias tocando algún fichero de xMate? No he logrado encontrar el fichero de configuración.

Un saludo,
Manuel

Posted: Tue Oct 24, 2006 12:28 am
by carlos vargas
la forma rapida y simple es que agreges esas dos librerias a tu propyecto.
en xmate.

lo mas seguro es editar el entorno y en la pestaña del exe agregar esas librerias.



salu2
carlos vargas

Posted: Tue Oct 24, 2006 3:39 pm
by Manuel Aranda
Gracias Carlos, no había caido en cuenta que podría hacerlo así. De cualquier manera, aunque he conseguido compilar/enlazar sin fallos los resultados siguen siendo los mismos que con el bat: Se crea el ejecutable pero no veo nada por pantalla.

Un saludo,
Manuel

Posted: Thu Oct 26, 2006 11:59 pm
by carlos vargas
de ser posible enviame el prg para ver que pasa.

una sugerencia, cuando uses modo consola, usa

Code: Select all

#include "misincludes.ch"

/*programa principal*/
procedure Main()
  ....
  SetMode(25,80)
  Alert("Hola Mundo :-)")   /`/para comprobar
  ....
return

Ademas debes verificar que se este usando gtwin.lib y no otra lib como gtgui.lib (esta se usa soloamente en fwh y otras librerias gui)

Posted: Fri Oct 27, 2006 9:54 am
by Manuel Aranda
Gracias por contestar, Carlos, pero no hay manera. Te importaría compilar\enlazar\ejecutar harbour\tests\build clasname.prg a ver que resultados obtienes tú? Más arriba puedes ver un pantallazo de mi resultado y el resultado de Antonio Linares, obviamente debo tener algo mal configurado, aunque no se lo que es pues he utilizado el build de harbour que Antonio me envió. Repito que el ejecutable se crea pero sin resultados visibles al ejecutarlo.

Un saludo.
Manuel

manuel aranda

Posted: Fri Jun 29, 2007 5:52 pm
by sildata
recien leo tu inquietud por el problema, de programacion que te aflige, yo lo solucione modificando los flags del ILINK32 en el build*.bat
saludos rodolfo
sildata@cantv.net