Página 1 de 1

GPF en TPrinter

Publicado: Dom Mar 19, 2006 9:56 pm
por Xevi
Pues recompilando mi aplicación con la PR7
Un Saludo,
Xevi.


Attached files

GPF en TPrinter

Publicado: Lun Mar 20, 2006 9:47 pm
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.
>
>

GPF en TPrinter

Publicado: Mar Mar 21, 2006 9:52 am
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.
>
>

GPF en TPrinter

Publicado: Mar Mar 21, 2006 12:42 pm
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)Â

GPF en TPrinter

Publicado: Mar Mar 21, 2006 1:17 pm
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.
>>>
>>>
>>
>>
>
>
>

GPF en TPrinter

Publicado: Mar Mar 21, 2006 1:59 pm
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.
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>