Ahora que ya lo tengo implementado estoy tratando de optimizar la velocidad de ejecución ya que tengo clientes con bases de datos de un tamaño considerable.
He optado por probar lLoadOnDemand tal como viene en el ejemplo BioLife de frconsole.prg y lo cierto es que la velocidad se dispara.
Sólo hay un problema, imprime todos los registros de la tabla dos veces (este hecho ocurre también en el ejemplo que mencione de frconsole.prg)
He observado que la dll (frx.dll) que viene con Xailer es más reciente que la que tengo yo. La mía data del 09/09/2016 y la de Xailer 09/05/2017, mi versión 1.5.1609.7 y la de Xailer 1.5.1705.9 . ¿No se si puede ser debido a esto?
El código :
Código: Seleccionar todo
USE .\DATA\BIOLIFE SHARED VIA "DBFCDX"
WITH OBJECT oReport := TFastReport():New()
WITH OBJECT :AddDbf( "BIOLIFE" )
:lLoadOnDemand := .T.
:nMaxRecsOnDesign := 10
END WITH
:bOnAfterLoad := {|| QOut( "Report loaded" ) }
:bOnClickObject := {|oSender, cObject| QOut( "Mouse click on object: " + cObject ) }
:bOnEndPreview := {|| QOut( "Report preview window closed" ) }
:Create()
:cFilename := ".\Reports\Biolife.fr3"
:AddCategory( "personal" )
:AddVariable( "test", 123 )
? "Report description:"
? :oReportOptions:aDescription[ 1 ]
IF !lDesign
:ShowReport()
ELSE
:DesignReport()
ENDIF
:End()
END WITH
CLOSE ALL
El resultado del informe :
¿Alguna sugerencia o solución?
Gracias