Page 1 of 1

Encabezados en xHArbour y Harbour...

Posted: Mon Nov 07, 2005 6:38 am
by goosfancito
Estimados:

Quiero que me dejen algo en claro porque tengo una confución:

esta definicion de funcion esta bien para xHarbour y Harbour?

HB_FUN_SETSCROLLINFO( PARAMS )

Comparto con Andy que no, que es asi:

HB_FUNC( SETSCROLLINFO )

Pero la mayoria de los que usan la tsbrowser me dicen que compilaron sin errores y a mi si dejo asi:

HB_FUN_SETSCROLLINFO( PARAMS )

en xHarbour me da error.

Cómo es la cosa?.

Posted: Mon Nov 07, 2005 6:51 am
by Antonio Linares
Gustavo,

La cláusula PARAMS es propia de FiveWin.

Posted: Mon Nov 07, 2005 7:12 am
by goosfancito
Y los otros Antonio? perdon que te pregunte esto pero estoy estudiando el xharbour y el harbourd, mejor dicho analizando a ver que es mas productivo.

gracias.

Posted: Mon Nov 07, 2005 7:18 am
by Antonio Linares
Gustavo,

PARAMS es una claúsula que FiveWin usa para compatibilidad con Xbase++. En FWH PARAMS se traduce a void, que es el valor por defecto al no especificar ningún parámetro, por lo que no tiene ningún efecto.

HB_FUNC( NOMBRE_FUNCION ) es un define de C, que el preprocesador de C traduce a HB_FUN_NOMBRE_FUNCION( void ), por lo que:

HB_FUNC( NOMBRE_FUNCION )

y

HB_FUN_NOMBRE_FUNCION( void )

son lo mismo.

Y puesto que PARAMS es void, estas dos líneas son lo mismo:

HB_FUN_NOMBRE_FUNCION( void )

HB_FUN_NOMBRE_FUNCION( PARAMS )

Todo esto es aplicable por igual a Harbour y xharbour.

Posted: Mon Nov 07, 2005 7:31 am
by goosfancito
Gracias Antonio:

Ahora bien, entonces cuando compilo en xHarbour algo que esta asi:
HB_FUN_NOMBRE_FUNCION( PARAMS )

Me tira error, en cambio cuando compilo con esta forma:

HB_FUNC( NOMBRE_FUNCION )

No me da error?

Gracias