Primeros pasos con FWH7.07 y xH0997

Primeros pasos con FWH7.07 y xH0997

Postby gsabattino » Thu Aug 09, 2007 9:37 pm

Hola a todos...

Hoy comencé a dar el salto desde FW2.4+xH0993 hacia FW7.07+xH0997.
Veo que los cambios han sido bastante significativos...

El script que hace referencia a las libs de xHarbour lo fuí cambiando por ensayo y error hasta que el linker dejo de dar errores por ese lado...
Luego a punta de cabezazos tuve que recompilar algunos fuentes en C puro por un error de una llamada a _hb_stack que se producía desde esos módulos...
Logré generar el módulo WBrwLine.obj, el cual es un componente de la clase TWBrowse de nuestro querido compañero D.Cecarrelli, pero sin que me dejara de dar un montón de mensajes de precaución por prototipos no definidos...
La clase tSysInfo de Patrick Mast me dio un error que no supe resolver y comente esas líneas (las copio al final)...
Por ultimo... luego de recompilar todo lo que son clases y componentes de terceros y los Prg's me encuentro que la aplicación de prueba no corre sino que solo abre una ventana de consola sin nada dentro...

Entonces...
Que me está faltanto??? o sobrando???
Será que me pueden facilitar un script para compilar fuentes en C puro y un script para el ILink32???

Para todo esto, aparte del BCC551, he estado utilizando la distribución de xHarbour 0.997 de FiveTechSoft.


De antemano... 1GB de Gracias por los comentarios.

Giancarlo J. Sabattino S.
Valencia, Venezuela


---------------------------------------------------------------
a continuación coloco los cambios que he implementado:

c:\BCC55\bin\BCC32.cfg:

-5
-d
-k-
-O1
-O2
-v-
-WC
-w-inl-
-6
-OS
-a8
-IC:\Bcc55\include;c:\xBase\xHarbour\0.997\Include;c:\xBase\FWH\Include
-LC:\Bcc55\lib;\xBase\xHarbour\0.997\Lib
-ljC:\Bcc55\lib;C:\Bcc55\lib\psdk


---------------------------------------------------------------
script para ILink32:

-aa -Tpe -s +
-I.\Obj32 +
-Lc:\xBase\xHARBOUR\0.997\LIB;C:\BCC55\LIB +
-j.\Obj32;C:\BCC55\LIB +
C:\BCC55\LIB\C0W32.OBJ +
Matric.OBJ +
Usuario.Obj +
MmtoGen.Obj +
Nominas.Obj +
Seguro.Obj +
CtlPagos.Obj +
Estadist.Obj +
Puentes.Obj +
Utils.OBJ +
tSysInfo.Obj +
tGet.OBJ +
Eagle.OBJ +
NetMngrW.OBJ +
PrnFnFW.Obj +
c:\xBase\FW\Clases\TWBrowse.HDC\17\Obj32\WBrowse.OBJ +
c:\xBase\FW\Clases\TWBrowse.HDC\17\Obj32\WBrwLine.OBJ +
c:\xBase\FWH\ObjxH0997\ErrSysW.OBJ +
c:\xBase\FWH\Obj32\ctcrypt.OBJ, +
.\LSG32.exe, +
.\Obj32\Matricula.map, +
c:\xBase\FWH\lib\FiveHc.lib +
c:\xBase\FWH\libxH0997\FivexH.lib +
c:\xBase\Eagle1\LibxH0997\Eagle1.Lib +
c:\xBase\Eagle1\Lib\Eagle1C.Lib +
c:\xBase\Eagle1\Lib\LibMySQL.Lib +
c:\BCC55\lib\psdk\odbc32.lib +
rtl.lib +
vm.lib +
common.lib +
gtwin.lib +
lang.lib +
macro.lib +
debug.lib +
rdd.lib +
dbfntx.lib +
dbfcdx.lib +
dbffpt.lib +
pp.lib +
hbsix.lib +
c:\bcc55\lib\CW32.LIB +
c:\bcc55\lib\IMPORT32.LIB,, +
.\Obj32\Matric.RES

---------------------------------------------------------------
los módulos en C puro los compilé asi:

c:\BCC55\bin\bcc32.exe -P- -c -tW -Ic:\xBase\FWH\include;c:\xBase\FWH\ObjxH0997\include -DHARBOUR_USE_WIN_GTAPI -DHB_COMPAT_C53 Modulo.c


---------------------------------------------------------------
Parte de la Clase tSysInfo de Pactrick Mast que tuve que comentar:

METHOD Memory( nMem ) Class TSystemInfo
Local nRetu

#ifdef __HARBOUR__
#pragma BEGINDUMP
#include "windows.h"
#pragma ENDDUMP

/* Comienza parte comentada
nRetu := HB_INLINE( nMem )
{
MEMORYSTATUS mst;
long nMem = hb_parnl(1);

mst.dwLength = sizeof( MEMORYSTATUS );
GlobalMemoryStatus( &mst );

switch( nMem )
{
case 1: hb_retnl( mst.dwTotalPhys / (1024*1024) ) ; break;
case 2: hb_retnl( mst.dwAvailPhys / (1024*1024) ) ; break;
case 3: hb_retnl( mst.dwTotalPageFile / (1024*1024) ) ; break;
case 4: hb_retnl( mst.dwAvailPageFile / (1024*1024) ) ; break;
case 5: hb_retnl( mst.dwTotalVirtual / (1024*1024) ) ; break;
case 6: hb_retnl( mst.dwAvailVirtual / (1024*1024) ) ; break;
default: hb_retnl( 0 ) ;
}
}

Finaliza parte comentada */
nRetu :=0
#else
User avatar
gsabattino
 
Posts: 102
Joined: Fri Oct 14, 2005 12:03 am
Location: Valencia, Venezuela

Postby Antonio Linares » Thu Aug 09, 2007 9:46 pm

Giancarlo,

Tienes que usar GTGUI.lib en vez de GTWIN.lib
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Thu Aug 09, 2007 9:48 pm

> la aplicación de prueba no corre sino que solo abre una ventana de consola sin nada dentro...

Desplaza el contenido de esa ventana hacia abajo por si aparece un mensaje de error. Has mirado si se genera un error.log ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby gsabattino » Thu Aug 09, 2007 10:25 pm

Antonio, efectivamente cambiando la librería ya funciona normal...

Muy Agradecido por la orientación...

Aun me quedan las inquietudes relacionadas con la cantidad de advertencias de prototipos no definidos que resulta de compilar el módulo WBrwLine.c, y el caso del segmento que tuve que comentar en la clase tSystemInfo.
User avatar
gsabattino
 
Posts: 102
Joined: Fri Oct 14, 2005 12:03 am
Location: Valencia, Venezuela

Postby Antonio Linares » Thu Aug 09, 2007 10:42 pm

Que prototipos no definidos te aparecen ? De todas formas, mientras sean sólo warnings no tiene porque afectar a la ejecución de la aplicación.

En cuanto al segmento de código comentado, evita usar HB_INLINE( nMem ). Declara una función HB_FUNC() usando #pragma BEGINDUMP #pragma ENDDUMP (tienes muchos ejemplos en estos foros) y llámala desde ese método, en vez de usar HB_INLINE( nMem )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby gsabattino » Thu Aug 09, 2007 11:11 pm

Antonio... estas son las advertencias que se producen...

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
wbrwline.c:
Warning W8065 wbrwline.c 314: Call to function 'hb_itemType' with no prototype in function PaintTheLine
Warning W8065 wbrwline.c 314: Call to function 'hb_itemGetL' with no prototype in function PaintTheLine
Warning W8065 wbrwline.c 317: Call to function 'hb_itemGetNL' with no prototype in function PaintTheLine
Warning W8065 wbrwline.c 319: Call to function 'hb_itemClear' with no prototype in function PaintTheLine
Warning W8065 wbrwline.c 325: Call to function 'hb_itemType' with no prototype in function PaintTheLine
Warning W8065 wbrwline.c 327: Call to function 'hb_itemGetNL' with no prototype in function PaintTheLine
Warning W8065 wbrwline.c 331: Call to function 'hb_itemGetCPtr' with no prototype in function PaintTheLine
Warning W8069 wbrwline.c 331: Nonportable pointer conversion in function PaintTheLine
Warning W8065 wbrwline.c 334: Call to function 'hb_itemClear' with no prototype in function PaintTheLine
Warning W8065 wbrwline.c 1156: Call to function 'hb_itemCopy' with no prototype in function HB_FUN_WBRWPANE
Warning W8065 wbrwline.c 1183: Call to function 'hb_itemClear' with no prototype in function HB_FUN_WBRWPANE

el script de compilación está así:
SET BCDIR=C:\BCC55
SET HDIR=C:\xBase\xHarbour\0.997
SET FWDIR=C:\xBase\FWH

%BCDIR%\BIN\bcc32 -P- -c -tW -I%BCDIR%\include;%FWDIR%\include;%HDIR%\include -D__HARBOUR__ -DHARBOUR_USE_WIN_GTAPI -DHB_COMPAT_C53 -O2 WBrwLine.c > log.txt

SET BCDIR=
set HDIR=
User avatar
gsabattino
 
Posts: 102
Joined: Fri Oct 14, 2005 12:03 am
Location: Valencia, Venezuela

Postby Antonio Linares » Thu Aug 09, 2007 11:48 pm

Añade esta línea al comienzo del fichero en C despues de #include <hbapi.h>:

#include <hbapiitm.h>
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 76 guests