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.
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>