In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Ejemplo script .HRB

Foro de Xailer profesional en español
Responder
buzonjmartial
Mensajes: 86
Registrado: Vie Abr 10, 2009 11:02 pm

Ejemplo script .HRB

Mensaje por buzonjmartial »

Buenas noches,

¿ Alguien sabría donde encontrar un ejemplo de ejecutar un fichero .HRB que contiene una clase ?

Necesito una clase de mi aplicación sacarla fuera del ejecutable xailer, en un fichero tipo dll o .hrb para certificar que no se modifica.

El ejemplo de dll de Xailer que encuentro en los samples, veo que hay que acompañarla de una Xailerlib.dll adicional y preferiría hacerlo en un único fichero.

Gracias de antemano,
Un Saludo,
Joaquín Martínez
Avatar de Usuario
ignacio
Site Admin
Mensajes: 8840
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Ejemplo script .HRB

Mensaje por ignacio »

buzonjmartial escribió:Buenas noches,

¿ Alguien sabría donde encontrar un ejemplo de ejecutar un fichero .HRB que contiene una clase ?

Necesito una clase de mi aplicación sacarla fuera del ejecutable xailer, en un fichero tipo dll o .hrb para certificar que no se modifica.

El ejemplo de dll de Xailer que encuentro en los samples, veo que hay que acompañarla de una Xailerlib.dll adicional y preferiría hacerlo en un único fichero.

Gracias de antemano,

Código: Seleccionar todo

#define HB_HRB_BIND_DEFAULT      0x0   /* do not overwrite any functions, ignore
                                          public HRB functions if functions with
                                          the same names already exist in HVM */

#define HB_HRB_BIND_LOCAL        0x1   /* do not overwrite any functions
                                          but keep local references, so
                                          if module has public function FOO and
                                          this function exists also in HVM
                                          then the function in HRB is converted
                                          to STATIC one */

#define HB_HRB_BIND_OVERLOAD     0x2   /* overload all existing public functions */

#define HB_HRB_BIND_FORCELOCAL   0x3   /* convert all public functions to STATIC ones */

#define HB_HRB_BIND_MODEMASK     0x3   /* HB_HRB_BIND_* mode mask */

#define HB_HRB_BIND_LAZY         0x4   /* lazy binding with external public
                                          functions allows to load .hrb files
                                          with unresolved or cross function
                                          references */
....

   IF !Empty( pHrb := hb_hrbLoad( HB_HRB_BIND_DEFAULT, cFile ) )
      hb_hrbDo( pHrb )
      hb_hrbUnload( pHrb )
   ELSE
      MsgAlert( "Error en carga de fichero: " + CRLF + CRLF + cFile )
   ENDIF
Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
buzonjmartial
Mensajes: 86
Registrado: Vie Abr 10, 2009 11:02 pm

Re: Ejemplo script .HRB

Mensaje por buzonjmartial »

Gracias Ignacio,

pero mi pregunta es:

Después de hb_hrbDo( pHrb ) y antes de hb_hrbUnload( pHrb ),

¿ puedo usar la clase que está definida en el .hrb directamente o tengo que poner algún código más para usar sus métodos ?
Un Saludo,
Joaquín Martínez
Avatar de Usuario
ignacio
Site Admin
Mensajes: 8840
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Ejemplo script .HRB

Mensaje por ignacio »

Hola,

Por supuesto. Bien usando una macro o indicando un enlace dinámico

#include "Xailer.ch"
DYNAMIC TMiClase

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
buzonjmartial
Mensajes: 86
Registrado: Vie Abr 10, 2009 11:02 pm

Re: Ejemplo script .HRB

Mensaje por buzonjmartial »

Ok!

Muchas gracias,
Un Saludo,
Joaquín Martínez
Responder