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.

GPF en TPrinter

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

GPF en TPrinter

Mensaje por Xevi »

Pues recompilando mi aplicación con la PR7
Un Saludo,
Xevi.


Attached files
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

GPF en TPrinter

Mensaje por Xevi »

Algo sobre este GPF???
No puedo utilizar mi aplicación con esta PR7 !!!
Por lo que he podido indagar... se produce este GPF cuando hay MAS de una
página en el listado, o sea que cuando inicializamos la segunda página salta
este GPF.
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=441dc57f@ozsrvnegro.ozlan.local...]441dc57f@ozsrvnegro.ozlan.local...[/email]
> Pues recompilando mi aplicación con la PR7
>
>
>
> Un Saludo,
> Xevi.
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9448
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

GPF en TPrinter

Mensaje por ignacio »

Xevi,
¿Podrías mandarnos un ejemplo que lo reprodujese?
¿Falla tanto con Preview como sin Preview?
¿Ocurre con cualquier impresora?
¿Puedes comprobar si los ejemplos de impresión que incluye Xailer te fallan
también?
Como puedes observar el error es una división por cero que seguramente
ocurra porque el DC sea incorrecto, pero necesitaría saber como y cunado se
destruye incorrectamente.
Perdona por las molestias.
Gracias.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=441dc57f@ozsrvnegro.ozlan.local...]441dc57f@ozsrvnegro.ozlan.local...[/email]
> Pues recompilando mi aplicación con la PR7
>
>
>
> Un Saludo,
> Xevi.
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

GPF en TPrinter

Mensaje por Xevi »

Ignacio,
Adjunto tienes el sample que reproduce el GPF!!!
El GPF aparece cuando creamos un Preview de más de una página.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:441fbee7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
> ¿Podrías mandarnos un ejemplo que lo reprodujese?
> ¿Falla tanto con Preview como sin Preview?
> ¿Ocurre con cualquier impresora?
> ¿Puedes comprobar si los ejemplos de impresión que incluye Xailer te
> fallan
> también?
>
> Como puedes observar el error es una división por cero que seguramente
> ocurra porque el DC sea incorrecto, pero necesitaría saber como y cunado
> se
> destruye incorrectamente.
>
> Perdona por las molestias.
>
> Gracias.
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:[email=441dc57f@ozsrvnegro.ozlan.local...]441dc57f@ozsrvnegro.ozlan.local...[/email]
>> Pues recompilando mi aplicación con la PR7
>>
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>
>


Attached files Printer.zip (2 KB)Â
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9448
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

GPF en TPrinter

Mensaje por ignacio »

Xevi,
Me temo que el problema es que no están balancedados las llamadas a
StartPage() y EndPage(). Simplemente haz lo siguiente:
Muevel la linea Printer:EndPage() al final de la función xCap(). Quedaría
algo así:
METHOD ButtonClick( oSender ) CLASS TForm1
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
xCap( "Prueba", 2, "Empresa de Prueba" )
If oSender == ::oButton2
xCap()
EndIf
Printer:EndDoc()
Application:lBusy := .F.
Printer:Preview()
RETURN Nil
//---------------------------------------------------------- --------------------
Procedure xCap()
local nMargeDret := ((Printer:nPaperWidth)/10)-12
Printer:StartPage()
Printer:oCanvas:oFont := TFont():Create( "Arial", 10, 0, 800 )
PrinterDrawText( "Nombre de Empresa", { 15, 10, 100, 15 }, TA_LEFT )
Printer:oCanvas:oFont:nSize := 8
Printer:oCanvas:oFont:lBold := .F.
PrinterDrawText( "Fecha " + Dtoc( Date() ), { nMargeDret-30, 10,
nMargeDret, 13 }, TA_RIGHT )
PrinterDrawText( "Página " + LTrim( Str( Printer:nPageNumber ) ), {
nMargeDret-30, 15, nMargeDret, 19 }, TA_RIGHT )
Printer:oCanvas:oFont:nSize := 22
PrinterDrawText( "TITULO DEL LISTADO", { 15, 20, nMargeDret, 33 },
TA_CENTER )
Printer:EndPage()
Return
No obstante modifcaré la clase para que no ocurra el GPF y sencillmante haga
un EndPage si recibe dos StartPage() consecutivos.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=441fe6a7@ozsrvnegro.ozlan.local...]441fe6a7@ozsrvnegro.ozlan.local...[/email]
> Ignacio,
>
> Adjunto tienes el sample que reproduce el GPF!!!
> El GPF aparece cuando creamos un Preview de más de una página.
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:441fbee7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Xevi,
>>
>> ¿Podrías mandarnos un ejemplo que lo reprodujese?
>> ¿Falla tanto con Preview como sin Preview?
>> ¿Ocurre con cualquier impresora?
>> ¿Puedes comprobar si los ejemplos de impresión que incluye Xailer te
>> fallan
>> también?
>>
>> Como puedes observar el error es una división por cero que seguramente
>> ocurra porque el DC sea incorrecto, pero necesitaría saber como y cunado
>> se
>> destruye incorrectamente.
>>
>> Perdona por las molestias.
>>
>> Gracias.
>>
>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>> news:[email=441dc57f@ozsrvnegro.ozlan.local...]441dc57f@ozsrvnegro.ozlan.local...[/email]
>>> Pues recompilando mi aplicación con la PR7
>>>
>>>
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

GPF en TPrinter

Mensaje por Xevi »

Ignacio,
Visto!!!
Como sólo se trata de incluir EndPage(), no puedo incluirla al final de la
función xCap, pues se trata de la "cabecera" de mis reportes, después de
llamar a xCap, llamo a xLineas...
lo que he hecho es modificar la función xCap(), que es llamada en TODA mi
aplicación...
Antes de StartPage()
....
If( Printer:nPageNumber > 0, Printer:EndPage(), )
Printer:StartPage()
....
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:441feed9$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
> Me temo que el problema es que no están balancedados las llamadas a
> StartPage() y EndPage(). Simplemente haz lo siguiente:
>
> Muevel la linea Printer:EndPage() al final de la función xCap(). Quedaría
> algo así:
>
> METHOD ButtonClick( oSender ) CLASS TForm1
>
> Printer:nOrientation := DMORIENT_PORTRAIT
> Printer:StartDoc()
> Printer:oCanvas:nMapMode := mmHIMETRICS
>
> xCap( "Prueba", 2, "Empresa de Prueba" )
> If oSender == ::oButton2
> xCap()
> EndIf
>
> Printer:EndDoc()
> Application:lBusy := .F.
> Printer:Preview()
>
> RETURN Nil
>
> //---------------------------------------------------------- --------------------
>
> Procedure xCap()
> local nMargeDret := ((Printer:nPaperWidth)/10)-12
>
> Printer:StartPage()
> Printer:oCanvas:oFont := TFont():Create( "Arial", 10, 0, 800 )
> PrinterDrawText( "Nombre de Empresa", { 15, 10, 100, 15 }, TA_LEFT )
> Printer:oCanvas:oFont:nSize := 8
> Printer:oCanvas:oFont:lBold := .F.
> PrinterDrawText( "Fecha " + Dtoc( Date() ), { nMargeDret-30, 10,
> nMargeDret, 13 }, TA_RIGHT )
> PrinterDrawText( "Página " + LTrim( Str( Printer:nPageNumber ) ), {
> nMargeDret-30, 15, nMargeDret, 19 }, TA_RIGHT )
> Printer:oCanvas:oFont:nSize := 22
> PrinterDrawText( "TITULO DEL LISTADO", { 15, 20, nMargeDret, 33 },
> TA_CENTER )
> Printer:EndPage()
>
> Return
>
> No obstante modifcaré la clase para que no ocurra el GPF y sencillmante
> haga un EndPage si recibe dos StartPage() consecutivos.
>
> Un saludo,
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:[email=441fe6a7@ozsrvnegro.ozlan.local...]441fe6a7@ozsrvnegro.ozlan.local...[/email]
>> Ignacio,
>>
>> Adjunto tienes el sample que reproduce el GPF!!!
>> El GPF aparece cuando creamos un Preview de más de una página.
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:441fbee7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Xevi,
>>>
>>> ¿Podrías mandarnos un ejemplo que lo reprodujese?
>>> ¿Falla tanto con Preview como sin Preview?
>>> ¿Ocurre con cualquier impresora?
>>> ¿Puedes comprobar si los ejemplos de impresión que incluye Xailer te
>>> fallan
>>> también?
>>>
>>> Como puedes observar el error es una división por cero que seguramente
>>> ocurra porque el DC sea incorrecto, pero necesitaría saber como y cunado
>>> se
>>> destruye incorrectamente.
>>>
>>> Perdona por las molestias.
>>>
>>> Gracias.
>>>
>>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>>> news:[email=441dc57f@ozsrvnegro.ozlan.local...]441dc57f@ozsrvnegro.ozlan.local...[/email]
>>>> Pues recompilando mi aplicación con la PR7
>>>>
>>>>
>>>>
>>>> Un Saludo,
>>>> Xevi.
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
Responder