Script Vs DLL

Script Vs DLL

Postby Biel EA6DD » Wed Sep 02, 2009 4: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/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: Script Vs DLL

Postby Carles » Thu Sep 03, 2009 6: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 :x . 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: Select all  Expand view
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: Select all  Expand view
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
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1095
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: Script Vs DLL

Postby Antonio Linares » Thu Sep 03, 2009 6: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41323
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Script Vs DLL

Postby Biel EA6DD » Fri Sep 04, 2009 8: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/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: Script Vs DLL

Postby Ari » 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 2212 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
User avatar
Ari
 
Posts: 224
Joined: Fri Feb 03, 2006 4:21 pm
Location: São Paulo, SP - Brazil

Re: Script Vs DLL

Postby Compuin » Wed Jul 17, 2019 6: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 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1213
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 6 guests