Página 1 de 1
Ejemplo script .HRB
Publicado: Mié Nov 27, 2019 10:10 pm
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,
Re: Ejemplo script .HRB
Publicado: Jue Nov 28, 2019 9:57 am
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
Re: Ejemplo script .HRB
Publicado: Jue Nov 28, 2019 12:41 pm
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 ?
Re: Ejemplo script .HRB
Publicado: Jue Nov 28, 2019 1:23 pm
por ignacio
Hola,
Por supuesto. Bien usando una macro o indicando un enlace dinámico
#include "Xailer.ch"
DYNAMIC TMiClase
Saludos
Re: Ejemplo script .HRB
Publicado: Jue Nov 28, 2019 1:41 pm
por buzonjmartial
Ok!
Muchas gracias,