Page 1 of 2

New/Nuevo Harbour 3.4

PostPosted: Mon Jun 16, 2014 4:31 pm
by Antonio Linares

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 6:56 am
by mastintin
Antonio , con esta nueva version me dan 2 errores al enlazar ( ni siquiera he recompilado los prg ) . Tambien falta rddads.lib , pero supongo que esa al ser un "extra" no la distribuyes.
Saludos.

Error: Unresolved external '_png_init_io' referenced from C:\FWH\LIB\FIVEHC.LIB|FWPNG
Error: Unresolved external '_HB_FUN_HB_HSETCASEMATCH' referenced from C:\FWH\LIB\FIVEH.LIB|DATABASE

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 11:01 am
by Antonio Linares
Manuel,

Con esa función de uso de los PNGs hay algún problema que se está intentando resolver en el repositorio de Harbour. Mientras tanto puedes enlazar esta función:

Code: Select all  Expand view
#pragma BEGINDUMP

void png_init_io( void )
{
}

/*
void PNGAPI png_init_io( png_structrp png_ptr, png_FILE_p fp )
{
   if (png_ptr == NULL)
      return;

   png_ptr->io_ptr = (png_voidp)fp;
}
*/


#pragma ENDDUMP


Este código ya lo hemos incluido en FWH 14.06 (nos falta muy poco para publicarlo), pero falta por saber si nos puede afectar con las funciones de uso de los PNGs. Aqui se agradece todas las pruebas que podais realizar.

El código correcto es el que está comentado, pero ese código debiera estar en Harbour, una vez se solucione.

En cuanto a la otra función que comentas, tambien lo hemos resuelto asi en FWH 14.06 para evitar problemas de compatibilidades y que no le aparezca lo mismo a todo el mundo:

Code: Select all  Expand view
function hb_HSetCaseMatch( ... )

return hb_HCaseMatch( ... )


Ambas funciones estan en FWH 14.06 ya :-) Las he incluido dentro de harbour.prg, usando un #ifndef __XHARBOUR__ porque esa cambio de nombre de función sólo afecta a Harbour.

Por lo demás, Harbour 3.4 y FWH 14.06 estan funcionando perfectamente juntos :-)

FWH 14.06 se ha construido entero con Harbour 3.4 asi todo queda compatible, y además funciona con versiones anteriores de Harbour tambien (reitero mi solicitud de que hagamos pruebas) :-)

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 2:29 pm
by mastintin
Antonio . Si uso la funcion void PNGAPI png_init_io( png_structrp png_ptr, png_FILE_p fp ) me da lo siguiente :

Error E2449 fiveh.prg 3311: Size of 'PNGAPI' is unknown or zero
Error E2141 fiveh.prg 3311: Declaration syntax error

void png_init_io( void ) hace que los png no se vean . de momenot lo dejaré asi y esperaré a ver con el nuevo fwH

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 3:53 pm
by Antonio Linares
Manuel,

La cuestión es que hay que usar un png.h más reciente:

https://github.com/vszakats/harbour-core/tree/master/src/3rd/png

Y con ese deberíamos ser capaces de compilarlo ó entender que es lo que pasa

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 3:54 pm
by Antonio Linares
Estas son las anotaciones en png.c de Harbour 3.4:
https://github.com/vszakats/harbour-core/blob/master/src/3rd/png/png.c

Code: Select all  Expand view
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
#  ifdef PNG_STDIO_SUPPORTED
/* Initialize the default input/output functions for the PNG file.  If you
 * use your own read or write routines, you can call either png_set_read_fn()
 * or png_set_write_fn() instead of png_init_io().  If you have defined
 * PNG_NO_STDIO or otherwise disabled PNG_STDIO_SUPPORTED, you must use a
 * function of your own because "FILE *" isn't necessarily available.
 */

void PNGAPI
png_init_io(png_structrp png_ptr, png_FILE_p fp)
{
   png_debug(1, "in png_init_io");

   if (png_ptr == NULL)
      return;

   png_ptr->io_ptr = (png_voidp)fp;
}
#  endif


Ahora hay que ver que flags hacen falta, ó que es lo que falla...

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 3:56 pm
by Antonio Linares
Por lo que se vé en una construcción estandard de Harbour no se está incluyendo (aún no sabemos por qué queda excluido y cual es la idea de excluirlo),
de ahí que la solución temporal sería incluirlo en el código de FWH

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 4:09 pm
by Antonio Linares
Ese codigo es el mismo que aparece aqui:

http://www.rdos.net/svn/trunk/classlib/libpng/libpng.c

luego deduzco que es algo propio de png.c que se estará intentando resolver de alguna forma.

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 4:16 pm
by mastintin
He sustituido en el harbour 3.4 la libreria png.lib por la que teniamos en Harbour 3.2 y listo parece que funciona sin problemas . :-)

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 4:20 pm
by Antonio Linares
Manuel,

Pues de momento es una muy buena solución, gracias!!! :-)

Re: New/Nuevo Harbour 3.4

PostPosted: Tue Jun 17, 2014 4:25 pm
by Antonio Linares
Manuel,

Puedes probar FWH\samples\testpng.prg ?

Aqui da GPF...

Por favor, puedes confirmarlo ? gracias

Re: New/Nuevo Harbour 3.4

PostPosted: Wed Jun 18, 2014 5:48 am
by Antonio Linares

Re: New/Nuevo Harbour 3.4

PostPosted: Wed Jun 18, 2014 6:47 am
by mastintin
Efectivamente falla :-( .
lo prové con msglogo pero no fuí consciente que unsa IMAGE en vez BMP , por eso el error.

Re: New/Nuevo Harbour 3.4

PostPosted: Wed Jun 18, 2014 7:28 am
by Antonio Linares
Manuel,

Lo he comentado en la lista de desarrollo, a ver que cuentan:

https://groups.google.com/d/msg/harbour-devel/zJrs4-r_poM/zW4gH7V0Y5wJ

Re: New/Nuevo Harbour 3.4

PostPosted: Wed Jun 18, 2014 5:14 pm
by mastintin
Antonio. Tambien falta el archivo hbmxml.ch en los includes . He puesto el de la anterior versión