FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index EasyReport, EasyDialog y EasyPreview La nueva apariencia de EasyReport
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sat Sep 27, 2014 04:10 PM

Me parece perfecto lo de añadir el gris setup en el mismo dialogo .
He subido el código de inicial de tscript ...

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sat Sep 27, 2014 06:20 PM
mastintin wrote:Me parece perfecto lo de añadir el gris setup en el mismo dialogo .
He subido el código de inicial de tscript ...


Lo del Check Code (probado y funcionando)
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: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sat Sep 27, 2014 07:11 PM

No veo por qué no pinta correctamente los gets

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: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sat Sep 27, 2014 08:18 PM
cnavarro wrote:No veo por qué no pinta correctamente los gets

Yo estuve toda una tarde buscando soluciones , la conclusión a la que llegue es que si cambias de pestaña el ell folder cuando vuelves a el ya se pinta bien .
El problema radica en que creamos primero el folder y lo visualizamos ( al ser un ventana no modal ) y luego le colocamos los controles con lo que no se hace un repintado completo .
Esto no se soluciona con sysrefresh() pues no tenemos nada pendiente de pintar , ni con un refresh() ya que no tenemos nada nuevo que pintar .
Lo suyo es y solo con el folder activo ( los otros se repintan al selecionarlos ) , ocultarlo con un hide() mientras se crean los controles , así evitamos parpadeos y demás efectos raros y una vez tenemos pintados los contralos un show() para enseñal el folder completo -
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sat Sep 27, 2014 08:23 PM
Manuel
Efectivamente yo he probado con las posibles soluciones que indicas, ademas de :-)efault(), Refresh de los dialogos, del Folder, etc en el On Init de la ventana sin ningun resultado.
Pero en el dialogo de Report Setting aunque te cambies de pestaña, sigue pintandolo mal

-------------------- EDITADO ----------------------
En el Folder derecho, lo "solucione" cambiando el orden de las pestañas y funciona, sin embargo, en el izquierdo aunque ponga la OPTION 2, al ir a la primera sigue sin pintarlo correctamente

------------------ EDITADO ------------------------------
Las pruebas parecen indicarme que sólo ocurre con los gets, y que los demás controles se pintan correctamente (sigo con las pruebas)

----------------- EDITADO -------------------------------
Cambiando el FolderEx por Folder, funciona correctamente

----------------- EDITADO ---------------------------------------
Al hacer pruebas me he encontrado que los dialogos de otras pestañas se siguen viendo en el dialogo actual ( de fondo )

Por ejemplo:
Prueba a cambiar en la linea 2844 de EReport.Prg

oDlg := oER:aDialogs[ nD ]


por

Code (fw): Select all Collapse
oDlg := oClone( oER:oFldI:aDialogs[ nD ] )


------------------ EDITADO ---------------------------------------------------
Si en la clase TFolderEx cambio la linea 356 ( Version FWH 14.08 ) por

Code (fw): Select all Collapse
      DEFINE DIALOG oDlg OF Self STYLE nOR( WS_CHILD , 0 ); //If( ! ::IsKindOf( "TDIALOG"), WS_CLIPCHILDREN, 0 ) );


Los gets se muestran correctamente, aunque el combobox sigue sin aparecer

------------------ EDITADO ---------------------------------------------------
Pero en este caso, al cambiar de pestaña, el combo si aparece
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: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 02:22 PM

Creo que hasta se corrigen los problemas con la clase Folderex , a pesar de quedar muy aparente , deberíamos volver a la clase Folder normal ademas de no dar problemas cosméticos nos proporciona mas compatibilidad con los que tengan versiones viejas de fwh

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 05:17 PM
mastintin wrote:Creo que hasta se corrigen los problemas con la clase Folderex , a pesar de quedar muy aparente , deberíamos volver a la clase Folder normal ademas de no dar problemas cosméticos nos proporciona mas compatibilidad con los que tengan versiones viejas de fwh


Manuel, he creado una clase derivada de TFolderEx que "corrige", de momento, el problema (solo contiene el metodo New, y el FolderEx lo ponemos en un TPanel)
Si te parece, lo subo, lo pruebas y comentamos.
La compatibilidad con versiones anteriores no es problema
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: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 05:58 PM
Cristobal he estado haciendo unas modificaciones en TErscrit , para arreglar algunas cosas que faltaban , pero me encuentro con este código y no se como se usan estos paramentos . ¿ Alguien puede darnos algo de luz ?
Code (fw): Select all Collapse
 oScript:Run( "Script", ::oVRD )
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 06:33 PM

Manuel, el código ASCII de los dos puntos ( : ) es el 58
No se si te servirá de algo
Aunque creo que lo preguntas es en relacion al contenido de la llamada al método, no?

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: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 06:42 PM

Eso fue un error del copia y pega ... :shock: :?
Yo me refería a que nuestro Metodo Run no tiene parámetros y el que usaba el Tscript de OZS parece que si en concreto

ScriptRun( Script, ::oVRD ) pasa un literal Script y el objeto EASYREPORT .
Seria bueno saber como se usaban esos parámetros para recreado en nuestra clase

:o:""""

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 06:53 PM
mastintin wrote:Eso fue un error del copia y pega ... :-) :-)
Yo me refería a que nuestro Metodo Run no tiene parámetros y el que usaba el Tscript de OZS parece que si en concreto
:-)Script:Run( "Script", ::oVRD ) pasa un literal "Script" y el objeto EASYREPORT .
Seria bueno saber como se usaban esos parámetros para recreado en nuestra clase


Ya me he dado cuenta después de contestarte :-) :-)
Lo mismo que tú es lo que he estado buscando en mi baul de los recuerdos
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: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 06:57 PM

Me autorespondo ,indagando un poco por los ejemplos originales de easyreport se encuentra un archivo : ERStartScript1.prg ... esto me ilumino :D . El texto "script" es el nombre de la función a ejecutar , e ::ovrd es el parámetro a pasar ...
osea desde run se le pasa la función y los parámetros y esta ejecuta pudiendo así controlar la ejecución desde un archivo externo .

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 07:26 PM

Muy bien Manuel, genial

------------------ EDITADO --------------------------
Por cierto, no veo donde se le indica el .prg (se supone que es externo, no?) que ha de ejecutar
He mirado los ficheros de definiciones y areas y no lo veo :D

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: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 07:47 PM
cnavarro wrote:
mastintin wrote:Creo que hasta se corrigen los problemas con la clase Folderex , a pesar de quedar muy aparente , deberíamos volver a la clase Folder normal ademas de no dar problemas cosméticos nos proporciona mas compatibilidad con los que tengan versiones viejas de fwh


Manuel, he creado una clase derivada de TFolderEx que "corrige", de momento, el problema (solo contiene el metodo New, y el FolderEx lo ponemos en un TPanel)
Si te parece, lo subo, lo pruebas y comentamos.
La compatibilidad con versiones anteriores no es problema


Manuel, lo he subido
Hay que incluir el nuevo fichero con la clase en el eReport.mak
No lo modifico en el repositorio porque no quiero modificar los paths que cada uno tenga definidos
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: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Sep 28, 2014 08:41 PM
cnavarro wrote:
Por cierto, no veo donde se le indica el .prg (se supone que es externo, no?) que ha de ejecutar
He mirado los ficheros de definiciones y areas y no lo veo :-)

Code (fw): Select all Collapse
CLASS ERStart
   DATA cRptFile, cMode, cPrinter, cScript, cRDD


la DATA cScript es el nombre del archivo a leer
Code (fw): Select all Collapse
METHOD RunScript() CLASS ERStart
   LOCAL oScript := TErScript():New( MEMOREAD( ::cScript ) )   //leemos archivo 

   oScript:lPreProcess := .T.
   oScript:Compile()

   IF !EMPTY( oScript:cError )
      MsgStop( "Error in script:" + CRLF + CRLF + ALLTRIM( oScript:cError ), "Error" )
   ELSE
      oScript:Run( "Script", ::oVRD )
   ENDIF

RETURN .T.


Ahora lo del run ... no se realmente como funcionaba el original Tscript , me da que funcionaba por macrosustitución o algo similar ... nada que ver con el sistema que usamos , indagando un poco lo que mas se aproxima para poder realizar un código similar seria esto :
Code (fw): Select all Collapse
  ::oHbr := hb_compileFromBuf( PRG, "harbour", "-n", "-w3", "-es2", "-q0" )
  HANDLE_HRB := hb_hrbload( ::oHbr )
  HANDLE_FUN := HB_HRBGETFUNSYM( HANDLE_HRB, cFunction )
  HANDLE_FUN:EVAL()


Todo este código está sacado de la lista de Harbour y esta poco documentado , ademas creo que con xHarbour no funciona ( no lo se a fecha de hoy )
El problema es que no veo como pasarle parámetros a la función ...
En el metodo run que tenemos ahora si podríamos pasarle parámetros sin problemas , tendríamos que desestimar la posibilidad de tener en el archivo externo varias funciones ( solo una función por archivo ) ...
Code (fw): Select all Collapse
METHOD Run( p1,p2,p3,p4 ) CLASS TErScript
   local cResult, bOldError
   FReOpen_Stderr( "comp.log", "w" )
   ::compile()
   ::cError := MemoRead( "comp.log" )
   if ! Empty( ::oHrb )
      BEGIN SEQUENCE
      bOldError = ErrorBlock( { | o | DoBreak( o ) } )
      hb_HrbRun( ::oHrb,p1,p2p,p3,p4 )  // pasamos parametros al código 
      END SEQUENCE
      ErrorBlock( bOldError )
   endif

RETURN nil