Hace días se me presentó un problema de GPF con FastReport, mi error se debía a que cargaba y descargaba en cada ocasión la libreria TFastReoort, por consejo de Ignacio Ortiz ahora uso un único objeto TFastReport borrando su contenido con el método Clear() PERO ALGO HAGO MAL que no funciona correctamente...
Código: Seleccionar todo
* * * * * * * * AQUI CREO EL UNICO OBJECTO TFASTREPORT... * * * * * * *
METHOD FormInitialize( oSender ) CLASS tFrmMain
WITH OBJECT ::oFastReport := TFastReport():New(Self)
:SetTitle( Application:cTitle + " - Reporte" )
:cLanguage := "Spanish"
:Create()
END WITH
RETURN NIL
* * * * * ESTE METODO ES LLAMADO EN VARIAS OCASIONES Y ARMA UN NUEVO REPORTE CON REGISTROS DIFERENTES... * * * * *
METHOD PrintCFDI(cFileFR3, cFileOutput, oDSdetalle, oDSsubDetalle) CLASS tFrmMain
LOCAL oDetalle, oSubDetalle
WITH OBJECT ::oFastReport
oDSdetalle:GoTop()
oDSsubDetalle:GoTop()
// * * * * * * * *
// EN UN SEGUNDO REPORTE YA NO MUESTRA REGISTROS DE LOS DATASET's,....
oDetalle := :AddDataSet( "Conceptos", oDSdetalle )
oSubDetalle:= :AddDataSet( cNameSubDetalle, oDSsubDetalle )
oSubDetalle:SetMaster( oDetalle, { "IDCONCEPTO=IDCONCEPTO" } )
:LoadFromFile( cFileFR3 )
:AddFunction( "Function ValorBanco(cValor: String, nDato: Integer):String", "Sanroms", "bla, bla,..." )
:AddFunction( "Function ValorTipoJornada(cValor: String, nDato: Integer):String", "Sanroms", "bla, bla,..." )
:AddFunction( "Function ValorTipoNomina( cValor: String, nDato: Integer):String", "Sanroms", "bla, bla,..." )
:AddFunction( "Function ValorPeriodoPago(cValor: String, nDato: Integer):String", "Sanroms", "bla, bla,..." )
:DeleteCategory( "EMISOR" )
:AddCategory( "EMISOR" )
:AddVariable( "Emisor_Logotipo", cLogotipo )
:AddVariable( "Emisor_Domicilio", cDomicilio)
:PrepareReport()
:SetProperty( "PDFExport", "ShowDialog", .F. )
:SetProperty( "PDFExport", "FileName", cFileOutput + ".pdf" )
:SetProperty( "PDFExport", "Compressed", .t. )
:SetProperty( "PDFExport", "EmbeddedFonts", .t. )
:SetProperty( "PDFExport", "PrintOptimized",.t. )
:SetProperty( "PDFExport", "Author", "Sanroms Software de México" )
:SetProperty( "PDFExport", "Subject", "Comprobante Fiscal Digital" )
:DoExport( "PDFExport" )
:Clear() // SOLO CLEAR() y LISTO PARA EL SIGUIENTE REPORTE?
END WITH
RETURN .T.
Mi problema es que solo en el PRIMER reporte generado muestralos registros de manera correcta, a partir de la SEGUNDA ocasión que se genera un nuevo reporte NO MUESTRA REGISTROS, como si los DataSet estuvieran vacios