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)
Responder
Avatar de Usuario
bingen
Mensajes: 564
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Pequeños problemas con Xailer FR

Mensaje por bingen »

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
Avatar de Usuario
bingen
Mensajes: 564
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Pequeños problemas con Xailer FR

Mensaje por bingen »

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
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9243
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Pequeños problemas con Xailer FR

Mensaje por ignacio »

Buenas tardes Bingen,

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

Este código:

Código: Seleccionar todo

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) Visto 4606 veces
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/318 ... er/frx.dll

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
jackson_rr
Mensajes: 3
Registrado: Mié Ago 12, 2015 2:35 pm

Re: Pequeños problemas con Xailer FR

Mensaje por jackson_rr »

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.
Avatar de Usuario
bingen
Mensajes: 564
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Pequeños problemas con Xailer FR

Mensaje por bingen »

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
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9243
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Pequeños problemas con Xailer FR

Mensaje por ignacio »

jackson_rr escribió: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]
https://www.xailer.com
jackson_rr
Mensajes: 3
Registrado: Mié Ago 12, 2015 2:35 pm

Re: Pequeños problemas con Xailer FR

Mensaje por jackson_rr »

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.
Responder