Información de funciones de Harbour para modificar clases [RESUELTO]

Post Reply
User avatar
jose_murugosa
Posts: 1279
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Información de funciones de Harbour para modificar clases [RESUELTO]

Post by jose_murugosa »

Dónde puedo encontrar información detallada de todas las funciones para modificar clases de harbour, como por ejemplo:
__ClsAddMsg() y __clsModMsg()

Sobre todo con ejemplos práctivos.

Hay algo en este foro, pero me ha resultado confuso.

Gracias desde ya
Last edited by jose_murugosa on Wed Oct 22, 2025 10:13 am, edited 1 time in total.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Información sobre funciones de Harbour para modificar clases

Post by carlos vargas »

En harbour, sería necesario usar la Liberia xhb de \contrib
además de llamar al fichero de encabezado hbcls.ch que igualmente está en \contrib, con eso tendrás acceso a los comandos de modificación y extensión de clases tanto de data como de method.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Información sobre funciones de Harbour para modificar clases

Post by carlos vargas »

Dando soporte remoto a josé, solo fue necesario lo que detallo en código.
nada de xhb :-)

Code: Select all | Expand

#include "hbclass.ch"
...
   OVERRIDE METHOD MyMethodName IN CLASS tMyClase WITH MyMethodName2

   EXTEND CLASS tMyClase WITH METHOD MyMethod
   ...
   FUNCTION MyMethod( ... )
      LOCAL Self := hb_QSelf()
      ...
      
    FUNCTION MyMethodName2( ... )
      LOCAL Self := hb_QSelf()
      ...
         
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
jose_murugosa
Posts: 1279
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Re: Información sobre funciones de Harbour para modificar clases

Post by jose_murugosa »

Antonio, Carlos,
Gracias.

con la sugerencia de Carlos y agregando el fichero de cabecera "xhbcls.ch" funcionó perfectamente.

Code: Select all | Expand

...
#include "hbclass.ch"
#include "xhbcls.ch"

FUNCTION ...

   OVERRIDE METHOD MyMethodName IN CLASS tMyClase WITH MyMethodName2
   EXTEND CLASS tMyClase WITH METHOD MyMethod
   ...
   FUNCTION MyMethod( ... )
      LOCAL Self := hb_QSelf()
      ...
      
    FUNCTION MyMethodName2( ... )
      LOCAL Self := hb_QSelf()
      ...
Quedó divinísimo!! Y MUY SENCILLO.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Post Reply