Page 1 of 1

Nuevo xHarbour 1.2.1 revisión 6714 para Borland C 582

PostPosted: Thu May 27, 2010 6:22 am
by Antonio Linares

Re: Nuevo xHarbour 1.2.1 revisión 6714 para Borland C 582

PostPosted: Thu May 27, 2010 2:19 pm
by Patricio Avalos Aguirre
Hola

Faltan los archivos de ADS

ads.ch
rddAds.Lib
Ace32.Lib

Copie estos archivo desde el xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
pero no funcionan, un campo de 10 caracteres lo muestra como si fuera de 367 caracteres

alguien puede subir estos archivos

lo otro que al compilar FastReport salen estos warning o errorres

Code: Select all  Expand view
HB_FUNC( CALL_PROC_C )
{
   proc_C CurProc = (proc_C)hb_parnl(1);
   CurProc(hb_parc(2)); //linea 82
}

HB_FUNC( CALL_PROC_IC )
{
   proc_IC CurProc = (proc_IC)hb_parnl(1);
   CurProc(hb_parnl(2), hb_parc(3));  //linea 88
}
 



Code: Select all  Expand view

Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland
obj\FastRepH.c:
Warning W8075 .\\FastRepH.PRG 82: Suspicious pointer conversion in function HB_F
UN_CALL_PROC_C
Warning W8075 .\\FastRepH.PRG 88: Suspicious pointer conversion in function HB_F
UN_CALL_PROC_IC
Warning W8075 .\\FastRepH.PRG 94: Suspicious pointer conversion in function HB_F
UN_CALL_PROC_CC
Warning W8075 .\\FastRepH.PRG 100: Suspicious pointer conversion in function HB_
FUN_CALL_PROC_CCC
Warning W8075 .\\FastRepH.PRG 126: Suspicious pointer conversion in function HB_
FUN_CALL_FUNC_C_I
Warning W8075 .\\FastRepH.PRG 138: Suspicious pointer conversion in function HB_
FUN_CALL_FUNC_IC_I
Warning W8075 .\\FastRepH.PRG 144: Suspicious pointer conversion in function HB_
FUN_CALL_FUNC_CC_I

Re: Nuevo xHarbour 1.2.1 revisión 6714 para Borland C 582

PostPosted: Thu May 27, 2010 7:48 pm
by Antonio Linares
Patricio,

Vuelve a descargar xHarbour desde el enlace que hemos proporcionado, que ya incluye las librerias y ch para ADS.

Puedes mirar en los ficheros de cabecera de FastReport como está definido proc_C y proc_IC ? Copia aqui sus definiciones, gracias

Para construir las librerias de ADS hemos usado este batch:
Code: Select all  Expand view

set HB_DIR_ADS=c:\Program Files\Advantage 9.10\acesdk
set path=c:\bcc582\bin;c:\windows
make_b32.bat
 

Re: Nuevo xHarbour 1.2.1 revisión 6714 para Borland C 582

PostPosted: Thu May 27, 2010 10:32 pm
by Patricio Avalos Aguirre
ADJUNTO LO SOLICITADO

Code: Select all  Expand view
#pragma BEGINDUMP

#include "windows.h"
#include "hbapiitm.h"
#include "hbvm.h"
#include "hbapirdd.h"
#include "hbxvm.h"

typedef void *pointer;

typedef void (*proc_)(void);
typedef void (*proc_I)(long param1);
typedef void (*proc_IP) (int funcnum, pointer adr);
typedef void (*proc_C)(char * param);
typedef void (*proc_IC)(int param1, char * param2);
typedef void (*proc_CC)(char * param1, char * param2);
typedef void (*proc_CCC)(char * param1, char * param2, char * param3);
typedef void (*proc_IIII)(long param1, long param2, long param3, long param4);

typedef LONG (*func__I)(void);
typedef LONG (*func_I_I)(long param);
typedef LONG (*func_C_I)(char * param);
typedef LONG (*func_II_I)(long param1, long param2);
typedef LONG (*func_IC_I)(long param1, char * param2);
typedef LONG (*func_CC_I)(char * param1, char * param2);
typedef LONG (*func_CCC_I)(char * param1, char * param2, char * param3);
typedef LONG (*func_CCI_I)(char * param1, char * param2, long param3);
typedef LONG (*func_III_I)(long param1, long param2, long param3);
typedef LONG (*func_CIII_I)(char * param1, long param2, long param3, long param4);

typedef LONG (*func_CICCCCCCCC_I)(char * param1, long param2, char * param3, char * param4, char * param5,
                                  char * param6, char * param7, char * param8, char * param9, char * param10);

int TmpGetWA( AREAP area, void * ptr);
 

Re: Nuevo xHarbour 1.2.1 revisión 6714 para Borland C 582

PostPosted: Thu May 27, 2010 11:01 pm
by Antonio Linares
Patricio,

Prueba asi:
Code: Select all  Expand view

HB_FUNC( CALL_PROC_C )
{
   proc_C CurProc = (proc_C)hb_parnl(1);
   CurProc((char *)hb_parc(2)); //linea 82
}

HB_FUNC( CALL_PROC_IC )
{
   proc_IC CurProc = (proc_IC)hb_parnl(1);
   CurProc(hb_parnl(2), (char *)hb_parc(3));  //linea 88
}
 

Re: Nuevo xHarbour 1.2.1 revisión 6714 para Borland C 582

PostPosted: Fri May 28, 2010 2:59 pm
by Patricio Avalos Aguirre
Gracias Antonio

he cambiado todo lo que dice hb_parc(?) por (char *)hb_parc(?)

ya no salen los warning

Code: Select all  Expand view
HB_FUNC( CALL_FUNC_CICCCCCCCC_I )
{
   func_CICCCCCCCC_I CurFunc = (func_CICCCCCCCC_I)hb_parnl(1);
   hb_retnl(CurFunc((char *)hb_parc(2), hb_parnl(3), (char *)hb_parc(4), (char *)hb_parc(5), (char *)hb_parc(6), (char *)hb_parc(7), (char *)hb_parc(8),
                    (char *)hb_parc(9), (char *)hb_parc(10), (char *)hb_parc(11)));
}
 

Re: Nuevo xHarbour 1.2.1 revisión 6714 para Borland C 582

PostPosted: Fri May 28, 2010 4:36 pm
by Antonio Linares
Patricio,

Si, correcto.

Es que ahora hb_parc() está definido como que devuelve un "const char *" cuando habitualmente devolvía "char *", de hay que haga falta el "casting" (cambio de tipo).