Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   QuickReport 3.6.2 Prof - PDF (https://www.clubdelphi.com/foros/showthread.php?t=4786)

Jose Manuel 28-10-2003 18:23:26

QuickReport 3.6.2 Prof - PDF
 
Hola, estoy trabajando con Delphi 6 Enterprise y Quickreport professional 3.6.2, y les escribo para ver si alguien sabe porque sale este error. Con Delphi 6 corriendo, al guardar un listado en formato PDF sale un error que el debugger señala con el siguiente mensaje:

“Project Visor.exe raised exception class ERangeError with message ‘Range check error’. Process stopped. Use Step or Run to continue.”

Y a continuación, abre la Unit que tiene el error QRPDFFilt y en el procedimiento:

procedure TQRPDFDocumentFilter.TextOut(X, Y : extended; Font : TFont; BGColor : TColor;
Alignment : TAlignment; Text : string);

Marca la línea 432 como causante del error:

strpcopy( fpdfitem.Fontname,Font.Name );
fpdfitem.fontsize := Font.Size;
fpdfitem.rgbfcolor.blue := getBvalue(font.color);
fpdfitem.rgbfcolor.red := getRvalue(font.color);
fpdfitem.rgbfcolor.green := getGvalue(font.color);
fpdfitem.fbold := fsBold in font.Style;

Lo curioso, es que hasta ayer no me daba este error, y que en otra aplicación que tengo tampoco me da este error, veo el código de ambas aplicaciones y no aprecio diferencias entre el código de una aplicación y la otra pero una me da error y la otra no.

Tal vez alguien pueda indicarme por que se produce un error del tipo ‘Range check error’, o alguna pista para resolver esta situación.

Un saludo
Jose Manuel

Jose Manuel 29-10-2003 19:00:58

Hola, el problema era un "bug" en el fichero. Hice la consulta a QSOFT y me enviaron el fichero corregido que producia el error.

La respuesta de Qsoft fue esta:
...................................................
Hi,
this error is caused when one of the colours in the report is in the system palette.

The fix is to add a line like this before the colour decomposition like this
-
if Font.Color < 0 then Font.color := font.color and $FFFFFF;
The attached version of qrpdffilt.pas has the corrections.
....................................................

Un saludo a todos.
Jose Manuel


La franja horaria es GMT +2. Ahora son las 08:33:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi