FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Crea LIB (xa)Script, un sueño
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Crea LIB (xa)Script, un sueño
Posted: Sun Feb 01, 2015 05:01 PM

Antonio:

Como dijo M. L. King, "Tengo un sueño", que tan posible es crear un LIB como
la xaScript de tu ex o como la de xHarbour profesional ????.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Sun Feb 01, 2015 06:19 PM
Armando,

Ese sueño es una realidad y mucho más poderosa :-)

La librería hbcplr.lib de Harbour, no es que sea un "script", es que es Harbour "entero" a tu disposición y desde tu propia aplicación.

Descarga fivedit.exe desde aqui:
https://bitbucket.org/fivetech/fivewin-contributions/downloads/fivedit.zip
(incluye todo el código fuente para que veas como se hace)

Escribe el código que quieras y pulsa el botón "script" de la barra de botones. Tu código se compila y se ejecuta en memoria!!!

Los "scripts" anteriores eran juguetes comparados con esto :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Sun Feb 01, 2015 07:37 PM

Antonio:

Hasta ahora mis aplicaciones están hechas con FW y xHarbour pero si ya existe
dicha lib bien vale la pena mudarme a Harbour, seguramente tendré que hacer
cambios a mi código pero vale la pena.

Voy a probarla, ya te informaré el resultados.

Con que versiones de Harbour y Borland debo usar?

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 563
Joined: Sun Oct 09, 2005 07:23 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Sun Feb 01, 2015 09:27 PM

Hasta donde tengo probado, que lo he cambiado todo bastante rápido de xHarbour a HBarbour entre diciembre pasado y enero, va bien con BCC 582, BCC 6.3 (para 32 bits) y Visual Studio Comunity 2013 para 64 bits. Las versiones de Harbour y FW son de enero y son las descargadas de fivetech. Hay varios post recientes donde puedes ver los cambios (pocos) que hemos tenido que acometer.

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 01:19 AM

Antonio:

He descargado FiveEdit como lo indicaste, descargue Harbour 3.2 20141218 de Bitbucket,
pruebo FiveEdit con lo anterior más FWH1312 previa configuración para indicar los paths
correcto y no pasa nada al dar clic sobre el botón SCRIPT solo con el botón RUN funciona.

Será que algo me falta ?

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 06:48 AM

Armando,

Al arrancar fivedit te aparece un código por defecto con un MsgInfo().

Primero comprueba que tu configuración de fivedit sea correcta (path de FWH)

Al pulsar "script" ejecutará tu código en memoria.

Yo llevo mucho tiempo insistiendo en que esta es la razón más importante para usar Harbour en vez de xHarbour :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 11:14 AM
Antonio, revisa

Code (fw): Select all Collapse
 oHrb = HB_CompileFromBuf( StrTran( ::oEditor:GetText(), "Main", "__Main" ),;
                             "-n", "-I..\include", "-Ic:\harbour\include" )


Para que coja la carpeta indicada en las preferencias de la aplicación y no c:\harbour\include "a piñón".
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 11:16 AM

Angel, gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 11:18 AM
Cambiado por:

Code (fw): Select all Collapse
   oHrb = HB_CompileFromBuf( StrTran( ::oEditor:GetText(), "Main", "__Main" ),;
                             "-n", "-I" + AllTrim( ::cFWHPath ) + "\include",;
                             "-I" + AllTrim( ::cHarbPath ) + "\include" )
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 03:27 PM

Antonio:

Wow, ahora sí funca. Voy a revisar el código de FiveEdit para tratar de entender el truco
pero si tú puedes orientarme, te lo voy a agradecer.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 08:08 PM
Antonio:

Veo que en el siguiente código se efectúa la magia
Code (fw): Select all Collapse
METHOD RunScript() CLASS TFivedit

   local oHrb, cResult, bOldError

   FReOpen_Stderr( "comp.log", "w" )

   oHrb = HB_CompileFromBuf( StrTran( ::oEditor:GetText(), "Main", "__Main" ),;
                             "-n", "-I" + AllTrim( ::cFWHPath ) + "\include",;
                             "-I" + AllTrim( ::cHarbPath ) + "\include" )

   if "error" $ MemoRead( "comp.log" )
      MsgInfo( MemoRead( "comp.log" ), "Error" )
   else
      if ! Empty( oHrb )
         BEGIN SEQUENCE
         bOldError = ErrorBlock( { | o | DoBreak( o ) } )
         hb_HrbRun( oHrb )
         END SEQUENCE
         ErrorBlock( bOldError )
      endif
   endif
return nil


Si entiendo bien se compila el PRG que hay en memoria (HB_CompileFromBuf) y después, si no hay error, se ejecuta
(hb_HrbRun( oHrb )), tengo una aplicación que entre otras cosas necesito que ejecute un script ubicado en alguna
carpeta del disco duro, supongo que debe haber un método para compilar tomando el PRG desde disco, podrías
orientarme?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 09:12 PM

Prueba con MemoRead( cFile )

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 09:23 PM

Armando, hecha un vistazo a scripts.prg en el directory samples de FWH. Verás un ejemplo totalmente funcional.

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 09:28 PM

Lo que no me acaba de gustar del todo, es el tener que colocar en el pc del usuario final las carpetas con los includes tanto de harbour como de fwh . ¿ No se podría empaquetar todos esos archivos dentro de un fichero que se distribuya ? . ¿ algo como una dll ? .
El riesgo de que un usuario final toque un archivo y estropee el programa se multiplica por cada archivo que coloquemos .

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Crea LIB (xa)Script, un sueño
Posted: Mon Feb 02, 2015 10:24 PM

Señores:

A todos, muchas gracias por sus comentarios.

Seguiré lo indicado.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero