Page 1 of 1

GPF al usar el evento OnDesignSaveReport

Posted: Wed Dec 11, 2019 7:28 pm
by Israel Solis
Hola de nuevo,

Hace tiempo habia posteado este problema: http://www.xailer.com/forum/viewtopic.php?f=26&t=13549#p53524

En Resumen:

La definición de los reportes (archivos fr3) los guardo en un campo tipo Memo,

Por lo que uso el evento:

:OnDesignSaveReport := {|oSender, lSaveAs| SaveFRtoFormatos(lSaveAs, oRSformato, oSender) }

pero marca el error...

GPF (Code = c0000005):
Access violation


TFASTREPORT:DESIGNREPORTC (0)
TFASTREPORT:DESIGNREPORT (439)
TFRMEMPLEPRINTFICHA:BTNOKCLICK (239) <= Aqui tengo la linea mostrada arriba: :OnDesignSave.....


Para reproducir el error, alterar el método Button2Click() dentro del \Xailer\Samples\FastReport\MemDataSet.xpj

Code: Select all

METHOD Button2Click( oSender ) CLASS TFrmMemDataSet

LOCAL cString

::oFastReport1:OnDesignSaveReport := {|obj,lSaveAs| MsgInfo( ToString( obj:GetProperty("ReportOptions", "Name"))+CRLF+;
                                            ToString( obj:GetProperty("ReportOptions", "Description") )+CRLF+;
                                            Left(obj:SaveToString(), 50) ), 0 }

   ::oFastReport1:DesignReport()

//   MsgInfo( ::oFastReport1:SaveToString() )

//   MsgInfo(  )
RETURN Nil



EXACTAMENTE LO QUE CAUSA EL PROBLEMA ES obj:GetProperty(...) y hacer PREVIEW mientras estas en modo Diseño

Es decir si NO hay :GetProperty() o no se hizo PREVIEW mientras estabas en modo diseño todo funciona OK

Espero haberme explicado, MIL GRACIAS

LLEVO MUCHO TIEMPO ALARGANDO ESTE DETALLE

Re: GPF al usar el evento OnDesignSaveReport

Posted: Thu Dec 12, 2019 9:58 am
by ignacio
Buenos días,

Te ruego utilices una función para el código del evento y vayas paso a paso con el depurador. Gracias.

Un saludo

Re: GPF al usar el evento OnDesignSaveReport

Posted: Thu Dec 12, 2019 3:12 pm
by Israel Solis
Ignacio,

El código que puse alli es EJEMPLO para que puedan reproducir lo que a mi me sucede en una FUNCION que tengo perfectamente definida y REPITO.. el problema esta en el :GetProperty() y hacer PREVIEW estando en modo de diseño

si pruebas el código de EJEMPLO con el SAMPLES de FastReport como te comento, veras el resultado