FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Script Vs DLL
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Script Vs DLL
Posted: Wed Sep 02, 2009 04:14 PM

Para la comunidad en general y Antonio en particular.
Tengo una aplicaci贸n la cual tiene varios modulos opcionales.
La idea es distribuir un fichero ejecutable principal, y en fichero separados los diferentes modulos.
Quiero tenerlo separado porque me interesa solo distribuir algunos modulos en concreto, que sean faciles de mantener y actualizar sin tener que recompilar la aplicaci贸n principal.

Mis primeras pruebas fueron con DLL, usando la VM del ejecutable principal, que aunque funciona es un poco ro帽oso a la hora de montarlo y definir las funciones.

Hace poco probe a usar ficheros HRB, que pesan poco en tama帽o, y me han resultado m谩s faciles de compilar y distribuir.

Y la pregunta es, cual pensais es mejor soluci贸n, pros y contras de unos y otros.
Gracias anticipadas.

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 1283
Joined: Fri Feb 10, 2006 02:34 PM
Re: Script Vs DLL
Posted: Thu Sep 03, 2009 06:46 AM
Byel,

Mi experiencia hasta ahora es que depende de que y como lo quieras hacer es mejor un metodo u otro, y me refiero al uso de Scripts o Hrb. Hace tiempo montabamos m贸dulos dll, pero con el paso del tiempo y el cambio de versiones de Harbour resultaba que a veces funcionaban bien y otras no y resultaba un desastre, yo acabe harto :-) . Ahora el equipo de Harbour y en especial Prezmek aposto finalmente apostar por el uso de HRB y de hecho estan funcionando muy bien. Los tios han creado una libreria hbcplr.lib que es la que contiene el compilador y te permite incluso compilar desde tu propio exe.

Code (fw): Select all Collapse
if HB_Compile( "", "Modulo001.prg", "-n", "-gh" ) == 0
聽聽 HB_HRBRun( "Modulo001.hrb" )
endif

Yo diria que es la mejor opcion. Otro tema seria si quisieras crear dll para usar desde otras aplicaciones, pero no es el caso.

Tambien, decirte que a veces tenemos modulos que pasan a ser dinamicos mediante el uso de scripts internos, y nos va muy bien. Con scripts me refiero a peque帽o codigo que te permite realizar una accion determinada y que es modicable por el propio usuario.

Por ejemplo: Imaginate que tienes un tratamiento de un producto y le asignas un nombre de Lote. por defecto llama al script y este devuelve el nombre del lote la fecha.
Code (fw): Select all Collapse
FUNCTION Lote()

聽 聽LOCAL dDate := Date()

RETURN dDate

Imaginate que quieres que el nombre sea la fecha + la hora, o si es un tipo de producto una codificacion diferente, o si ya existe otro, ...

Te vas a tu script lo cambias y te quedas tan ancho, sin tener de recompilar nada en especial, ni la aplicacion, ni el modulo.Y estos scripts te les puedes guardar en tu tabla tranquilamente si quieres, sin que nadie les meta mano...

Este concepto lo llaman USER-EXITS, y permite al "SUPER USUARIO" amoldar y adaptar mas facilmente la aplicacion.
Salutacions, saludos, regards

"...programar es f谩cil, hacer programas es dif铆cil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
HIX -> https://github.com/carles9000/hix
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Script Vs DLL
Posted: Thu Sep 03, 2009 06:51 AM

Biel,

Como te comenta Carles, los HRB han mejorado mucho en Harbour y puedes incluso generarlos desde el propio EXE.

Es decir tu EXE, puede compilar como si se tratase de Harbour.exe y ademas puede ejecutar lo compilado! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: Script Vs DLL
Posted: Fri Sep 04, 2009 08:27 AM

Gracias Carles y Antonio.
Bueno vuestros comentarios hacen que se reafirme mi opinion inicial, usare los HRB parece que nos das mas potencia que las DLL y ademas son mas sencillos de ensamblar y distribuir, gracias por vuestros comentarios.

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Script Vs DLL
Posted: Thu Sep 17, 2009 12:09 AM
Carles,

Existe esta funcoes para Xharbour ?, n茫o encontrei


if HB_Compile( "", "Modulo001.prg", "-n", "-gh" ) == 0
HB_HRBRun( "Modulo001.hrb" )
endif

Ari
Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
S茫o Paulo - SP - Brasil
www.sisrev.com.br
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: Script Vs DLL
Posted: Wed Jul 17, 2019 06:23 PM
Antonio Linares wrote:Biel,

Como te comenta Carles, los HRB han mejorado mucho en Harbour y puedes incluso generarlos desde el propio EXE.

Es decir tu EXE, puede compilar como si se tratase de Harbour.exe y ademas puede ejecutar lo compilado! :-)


Esto esta bueno, pero como se hace si la aplicacion es propietaria y no acceso al codigo fuente ?

Harbour permite esto ?

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Continue the discussion