FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda FWH 2006 xHB a FWH 2014 Harbour
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Ayuda FWH 2006 xHB a FWH 2014 Harbour
Posted: Fri Sep 05, 2014 07:05 PM
Hola,

Necesito pasar una aplicación bastante grande, desde FWH del 2.006 con xHarbour a FWH 2014 con Harbour.

Me encuentro varios problemas al compilar y no encuentro cual es la razón, a ver si alguien me puede orientar.

1) En una definición de clase, si uso PRIVATE: o PUBLIC: para definir las DATA´s en estos ámbitos de visibilidad, Harbour se queja con este error:

Compilando lremesa.prg...
lremesa.prg(1435) Error E0020 Incomplete statement or unbalanced delimiters
lremesa.prg(1442) Error E0020 Incomplete statement or unbalanced delimiters

2) En este código:

Do Case
Case cType$"C" .OR. cType$"M"
x := comillas( "%"+Alltrim( x )+"%" )

Case cType == "N"
x := if(valtype(x)="C",val(x),x)
x := alltrim(Str( x, nLen, nDec ))

Case cType == "D"
TRY
if Empty(x)
x := "null"
else
x := comillas(if(valtype(x)="C", x, DtoS(x)))
endif
CATCH
msginfo( "Se ha encontrado una fecha errónea"+CRLF+ valtype(x) )
END
EndCase

da el error:

TDomDbf.prg(454) Error E0012 ENDCASE does not match DO CASE


3) En esta línea en C:

hb_storc( cAddr, -1, ++n );

da el error:

Error E2227 xDomi.prg 256: Extra parameter in call to hb_storc in function HB_FUN_GETLOCALIP


4) Por último unos warnings que no me gustan:

Compilando xZoom.prg...
C:\local\fwh2014\include\WinApi.ch(25) Warning W0002 Redefinition or duplicate definition of #define WS_CHILD
C:\local\fwh2014\include\WinApi.ch(27) Warning W0002 Redefinition or duplicate definition of #define WS_CLIPSIBLINGS
C:\local\fwh2014\include\WinApi.ch(37) Warning W0002 Redefinition or duplicate definition of #define WS_BORDER
C:\local\fwh2014\include\WinApi.ch(38) Warning W0002 Redefinition or duplicate definition of #define WS_DLGFRAME
C:\local\fwh2014\include\WinApi.ch(42) Warning W0002 Redefinition or duplicate definition of #define WS_THICKFRAME


Por supuesto con xHarbour compila bien.

Un Saludo,
Joaquín Martínez
Un Saludo,

Joaquín Martínez
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour
Posted: Fri Sep 05, 2014 07:16 PM

Una cosa solucionada.

El error en C es que hay que cambiar hb_storc POR hb_storvc.

Por si a alguien le sirve.

Un Saludo,
Joaquín Martínez

Un Saludo,

Joaquín Martínez
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Otra cosa solucionada y otro problema
Posted: Fri Sep 05, 2014 07:35 PM
Hola,


Lo del ámbito PRIVATE: y PUBLIC:, ha sido sustituído en Harbour por PROTECTED: y VISIBLE: respectivamente.

Lo que no sé es como hacer que funcione al compilar en XHarbour y en Harbour a la vez. ¿Qué condicionante podría poner que lo detectara?

Otro problema que me he encontrado es en código C:

hb_retnl( (LONG) pp_redir( hb_parc(1) ) );

Me da el siguiente warning:

Compilando TpppV2.prg...
Warning W8075 TpppV2.prg 1784: Suspicious pointer conversion in function HB_FUN_PP_REDIR
Un Saludo,

Joaquín Martínez
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour
Posted: Sat Sep 06, 2014 07:11 AM

Antes de hb_parc() escribe ( char * )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour
Posted: Sat Sep 06, 2014 08:59 AM

Gracias Antonio,

Era eso exactamente. A ver si soy capaz de solucionar el resto y consigo ejecutar mi aplicación por primera vez con FWH yharbour 2014.

Un Saludo,
Joaquín Martínez

Un Saludo,

Joaquín Martínez
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour
Posted: Sat Sep 06, 2014 09:38 AM
Joaquin,

Compilando xZoom.prg...
C:\local\fwh2014\include\WinApi.ch(25) Warning W0002 Redefinition or duplicate definition of #define WS_CHILD
C:\local\fwh2014\include\WinApi.ch(27) Warning W0002 Redefinition or duplicate definition of #define WS_CLIPSIBLINGS
C:\local\fwh2014\include\WinApi.ch(37) Warning W0002 Redefinition or duplicate definition of #define WS_BORDER
C:\local\fwh2014\include\WinApi.ch(38) Warning W0002 Redefinition or duplicate definition of #define WS_DLGFRAME
C:\local\fwh2014\include\WinApi.ch(42) Warning W0002 Redefinition or duplicate definition of #define WS_THICKFRAME


Comenta esos defines WS_... que tienes duplicados en xZoom.prg. Este es uno de los detalles en que se ve que Harbour reporta correctamente eso y xharbour lo ignora.
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion