Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Error al momento de Preview (https://www.clubdelphi.com/foros/showthread.php?t=60336)

judit25 28-09-2008 18:28:57

Error al momento de Preview
 
Buenos dias a tod@s!!!

Mi problema es el siguiente:

Estoy trabajando con delphi 7, Access 2002, Ado. Mi problema surge cuando intento mandar a visualizar un reporte (elaborado en QuickReport) desde un formulario que tiene un boton de imprimir con la instruccion
QuickReport1.Preview, al momento de presionar ese boton aparece el siguiente error:

"Project Sistema.exe raised exception class EAccessViolation with Message 'Access Violation at address 004AB23F in module 'Sistema.exe'. Read of address 00000000'. Process Stopped. Use Step or Run to continue"

Alguien tiene idea de que puede estar causando ese error.

Gracias anticipadas por la ayuda.

Saludos

mightydragonlor 28-09-2008 18:44:17

hola, pues no tengo el quickreport, pero si mal no recuerdo, este componente tiene un método prepare, osea que quedaría así:
Código Delphi [-]
TQuickReport.prepare;
TQuickReport.preview;
Espero te sirva de algo.

judit25 28-09-2008 18:45:50

Cita:

Empezado por mightydragonlor (Mensaje 316855)
hola, pues no tengo el quickreport, pero si mal no recuerdo, este componente tiene un método prepare, osea que quedaría así:

Código Delphi [-]
TQuickReport.prepare;
TQuickReport.preview;



Espero te sirva de algo.

Gracias por tu respuesta, pero ya habia probado eso y no me funciono tampoco

Lepe 28-09-2008 19:06:44

Usa siempre QuickReport1.PreviewModal

Si utilizas preview, el informe se muestra pero sigue ejecutando las demás instrucciones, por ejemplo, imagina esto:
Código Delphi [-]
quicreport1.dataset := query1;
query1.Open;
quickreport1.Preview;
query1.Free;
Close;

Después de hacer el preview, se libera la consulta, por tanto el informe dará errores al intentar acceder a los campos del query1. También se manda a cerrar la ventana y el preview te puede dar más dolores de cabeza aún.

Si en lugar de Preview, usas PreviewModal, tu ventana se queda congelada en esa línea de código. Cuando cierres La presentación del Informe, sólo entonces se ejecuta el query1.Free y el cierre de la ventana.

Saludos

coso 28-09-2008 21:50:09

Hola lepe, yo uso esa combinacion y no me da problemas nunca :confused:. Eso si, acostumbro a tener un prepare por alla metido.

judit25 28-09-2008 21:59:13

Muchas gracias por sus respuestas y ayuda

Lepe 29-09-2008 11:45:57

Hola coso:

Como todo, hay mil formas de hacerlo. Si tú no cierras la consulta dentro del mismo procedimiento que abre el QuickReport, no tendrás problemas. Si el listado es muy pequeño (1 registro, 1 folio con 10 registros), igual da tiempo a crearse el QuickReport y mostrarse sin problemas.

Cuando muestras un listado de varias páginas con 10 o 12 campos en columnas, ahí es donde vienen los problemas, el caso que canta es:
Código Delphi [-]
toolbar1ButtonImprimir.enabled := false;
try
  quicreport1.Preview;
finally 
   toolbar1ButtonImprimir.Enabled := true;
end;

Verás como el botón sigue habilitado mientras se está mostrando el QuickReport. Usa PreviewModal y verás que se queda inhabilitado ;).

Saludos

coso 29-09-2008 13:30:49

ni idea, ya te digo que lo uso asi casi siempre y nunca me ha dado problemas...preview y liberar...


La franja horaria es GMT +2. Ahora son las 15:58:19.

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