Crea LIB (xa)Script, un sueño

User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Crea LIB (xa)Script, un sueño

Post by Armando »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Antonio Linares »

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- ... ivedit.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
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Armando »

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
Verhoven
Posts: 435
Joined: Sun Oct 09, 2005 7:23 pm

Re: Crea LIB (xa)Script, un sueño

Post by Verhoven »

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 _ (pocos) que hemos tenido que acometer.
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Armando »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Antonio Linares »

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
User avatar
AngelSalom
Posts: 664
Joined: Fri Oct 07, 2005 7:38 am
Location: Vinaros (Castellón ) - España
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by AngelSalom »

Antonio, revisa

Code: Select all

 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
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Antonio Linares »

Angel, gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Antonio Linares »

Cambiado por:

Code: Select all

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

Antonio Linares
www.fivetechsoft.com
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Armando »

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
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Armando »

Antonio:

Veo que en el siguiente código se efectúa la magia

Code: Select all

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
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Crea LIB (xa)Script, un sueño

Post by cnavarro »

Prueba con MemoRead( cFile )
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
AngelSalom
Posts: 664
Joined: Fri Oct 07, 2005 7:38 am
Location: Vinaros (Castellón ) - España
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by AngelSalom »

Armando, hecha un vistazo a scripts.prg en el directory samples de FWH. Verás un ejemplo totalmente funcional.
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Crea LIB (xa)Script, un sueño

Post by mastintin »

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 .
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Crea LIB (xa)Script, un sueño

Post by Armando »

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
Post Reply