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
buzonjmartial
Posts: 81
Joined: Fri Apr 10, 2009 11:02 pm

Ejemplo script .HRB

Postby buzonjmartial » Wed Nov 27, 2019 10:10 pm

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
User avatar
ignacio
Site Admin
Posts: 8691
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Ejemplo script .HRB

Postby ignacio » Thu Nov 28, 2019 9:57 am

buzonjmartial wrote: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,


Code: Select all

#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]
http://www.xailer.com
buzonjmartial
Posts: 81
Joined: Fri Apr 10, 2009 11:02 pm

Re: Ejemplo script .HRB

Postby buzonjmartial » Thu Nov 28, 2019 12:41 pm

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
User avatar
ignacio
Site Admin
Posts: 8691
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Ejemplo script .HRB

Postby ignacio » Thu Nov 28, 2019 1:23 pm

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]
http://www.xailer.com
buzonjmartial
Posts: 81
Joined: Fri Apr 10, 2009 11:02 pm

Re: Ejemplo script .HRB

Postby buzonjmartial » Thu Nov 28, 2019 1:41 pm

Ok!

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

Return to “Spanish”