Ayuda FWH 2006 xHB a FWH 2014 Harbour

Ayuda FWH 2006 xHB a FWH 2014 Harbour

Postby jmartial » Fri Sep 05, 2014 7: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
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour

Postby jmartial » Fri Sep 05, 2014 7: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
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Otra cosa solucionada y otro problema

Postby jmartial » Fri Sep 05, 2014 7: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
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour

Postby Antonio Linares » Sat Sep 06, 2014 7:11 am

Antes de hb_parc() escribe ( char * )
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

Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour

Postby jmartial » Sat Sep 06, 2014 8: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
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Ayuda FWH 2006 xHB a FWH 2014 Harbour

Postby Antonio Linares » Sat Sep 06, 2014 9: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
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: No registered users and 50 guests