In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Pequeños problemas con Xailer FR

FastReport for Xailer & [x]Harbour (English/Spanish)
User avatar
bingen
Posts: 397
Joined: Mon Jul 07, 2014 8:17 pm
Location: Bilbao
Contact:

Pequeños problemas con Xailer FR

Postby bingen » Tue Sep 15, 2015 5:21 pm

Buenas Ignacio, he encontrado un par de cosas errorneas o al menos extrañas en FR.

El método VariablesList que sirve para obtener un array de Variables de una categoría, primero muestra un MSGINFO que supongo no debiera, segundo devuelve un array pero de un único elemento con un churro que tiene todos los nombre de variables pegados.

Algo parecido pasa con el método CategoriesList el cual devuelve un array de un lemento con un churro salvo si las categorías tienen nombres con espacios, por ejempplo, "Variables de la aplicación" entonces interpreta erroenamente cada palabra con espacio como una nueva categoría.

Otro error de toda la vida con FR que sigue estando presente en XFR es que si en el diseño grabas el FR3 con una categoría y luego haces acmbios por código en el nombre de las categorías o de una variable, el FR3 internamente sigue teniendo un PropData que mantiene las variables antiguas con el nombre de la categoría vieja, etc... Se da incluso la paradoja de que si quitas una variable de la aplicación, sigue existiendo en FR si está en el FR3 y sigue teniendo el último valor que recuerda el FR3. No es problema vuestro pero yo creo que no se deberían de grabar las variables con sus valores en el FR3 ya que para eso se alimentan desde código fuente cada vez que se invoca al FR3.
No se si conoces alguna manera de hacer que al entrar se borren todas las variables antes de empezar a cargar las de las categorías Xailer y las propias, que es lo que quería hacer con CategoriesList y DeleteCategory.

Gracias y aslu2.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
User avatar
bingen
Posts: 397
Joined: Mon Jul 07, 2014 8:17 pm
Location: Bilbao
Contact:

Re: Pequeños problemas con Xailer FR

Postby bingen » Tue Sep 15, 2015 6:31 pm

También he probado ::ClearVariables() despues del LoadFromFile y nada, ahí siguen todas las variables, las viejas que ya no existen, las nuevas etc...

La única manera de borra todas las variables y empezar desde cero correctamente es entrar a mano al FR3 y eliminar el bloque
PropData="..."
BiSoft Desarrollo de software profesional
http://www.bisoft.es
User avatar
ignacio
Site Admin
Posts: 8574
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Pequeños problemas con Xailer FR

Postby ignacio » Tue Sep 15, 2015 7:16 pm

Buenas tardes Bingen,

Eliminado el MsgInfo al ejecutar el método VariablesList(). Gracias.

Este código:

Code: Select all

aList := ::oFastReport1:VariablesList("XAILER")
cList := ""
AEval( aList, {|v| cList+= v + CRLF } )
MsgInfo(cList)

Muestra lo siguiente que entiendo es corrrecto:
2015-09-15 18_48_03-xaFastReport - VMware Workstation.png
2015-09-15 18_48_03-xaFastReport - VMware Workstation.png (5.12 KiB) Viewed 1956 times

El problema de la persistencia de las variables es de FR y no nuestro. Cada vez que añades una variable, ésta se añade al archivo de FR. Hay varias soluciones:

1) Llamar a DeleteCategory( miCategoria ) en el evento TFastReport:AfterLoad
2) Utilizar un fichero FR descartable. Es decir, lo copias a un fichero temporal y es el que usas. Luego lo desprecias.

En cuanto a la lista de categorías que se parten cuando tienen espacios me temo que es un error de FR. FR alimenta un objeto TStringList que incluso indicando que los espacios no los debe de tener en cuenta al hacer el 'parsing', le da exactamente igual. Te recomiendo que pongas un guión bajo en vez de un espacio.

Te adjunto enlace a la nueva la DLL con los arreglos:

https://dl.dropboxusercontent.com/u/31888702/Xailer/frx.dll

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jackson_rr
Posts: 3
Joined: Wed Aug 12, 2015 2:35 pm

Re: Pequeños problemas con Xailer FR

Postby jackson_rr » Wed Sep 16, 2015 3:10 am

Hello, friends

Ingnacio, is possible send me this new DLL, tried using more gave me this error

TFastReport Error: Incorrect version DLL (1.5.1505.13). Should be: 1.5.1411.27.

I'm standing by.
User avatar
bingen
Posts: 397
Joined: Mon Jul 07, 2014 8:17 pm
Location: Bilbao
Contact:

Re: Pequeños problemas con Xailer FR

Postby bingen » Wed Sep 16, 2015 12:51 pm

Gracias Ignacio ahora si que va.

Ya se que no es problema vuestro la persistencia por eso te decía que es un "error" antiguo.

Al final como controlo yo cuando se entra en diseño y se graba lo que he hecho es esto:

::DesignReport()

//Limpiar el PropData del FR3 para que la lie con las variables que tiene dentro
cFR3XML:=MemoRead(::cReportPath+If(::lPersonal,"Personal\","")+::cReportName+".Fr3")
If At(' PropData="',cFR3XML)>0
cPropData:=Left(cFR3XML,At(' PropData="',cFR3XML))
cFR3XML:=SubStr(cFR3XML,Len(cPropData)+11)
cFR3XML:=SubStr(cFR3XML,At('">',cFR3XML)+1)
MemoWrit(::cReportPath+If(::lPersonal,"Personal\","")+::cReportName+".Fr3",cPropData+cFR3XML)
Endif

Y a la porra todo el Propdata y me olvido de los lios que se me montan luego en las variables.

Salu2.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
User avatar
ignacio
Site Admin
Posts: 8574
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Pequeños problemas con Xailer FR

Postby ignacio » Thu Sep 17, 2015 11:39 am

jackson_rr wrote:Hello, friends

Ingnacio, is possible send me this new DLL, tried using more gave me this error

TFastReport Error: Incorrect version DLL (1.5.1505.13). Should be: 1.5.1411.27.

I'm standing by.


You should update to latest Xailer version, in order to use that DLL.

Regards,
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jackson_rr
Posts: 3
Joined: Wed Aug 12, 2015 2:35 pm

Re: Pequeños problemas con Xailer FR

Postby jackson_rr » Fri Sep 25, 2015 5:54 pm

Hello friends

Ignacio, I don't use Xailer, I use xHarbour only, as I do to update the DLL.

I'm standing by.

Jackson Douglas.

Return to “FastReport”