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 llamar por segunda vez al QReport (https://www.clubdelphi.com/foros/showthread.php?t=12186)

Ana Cristina 08-07-2004 16:56:49

Error al llamar por segunda vez al QReport
 
saben tengo un problema con los qreport (directos que no tienen form) , la segunda vez que lo llamo me sale el mensaje de que ya existe el quicreport masomenos asi:

Proyect P_Principal.exe raised excepcion class EAccessviolation with message
'acces violation at address 4244522E read of address 4244522E'

o el siguiente mensaje

' a Tcomponent named QRStandarpreview report already exists'

el codigo que tengo es el siguiente:

//***************************//
try
//pero ojo el reporte no esta dentro de un form de que otra forma lo llamo
Application.CreateForm(TqrAsientoDoc,qrAsientoDoc);
//aqui mando parametros para los querys
qrAsientoDoc.Prepare;
qrAsientoDoc.Preview;
finally
qrAsientoDoc.free; //tambien he provado con release

//******************//

talvez puedan ayudarme a mejorar ese codigo que es un desastre

agradezco cualquier ayuda que puedan brindarme
gracias

PD: Lo necesito urgente

AngelMarvin 08-07-2004 17:51:14

La pregunta del millon
 
A mi me sucede algo parecido. Me salta un mensaje de que el reporte se encuentra abierto. No se si esta solución es correcta pero pude lograr que nunca mas me salga dicho mensaje.
En tu bloque finally antes de liberar la venana de tu reporte tenés que liebrar otro objeto:

finally
qrAsientoDoc.QRPrinter.Free;
qrAsientoDoc.Free;
end;

Coneso bastará. Al menos me funciona siempre. Suerte! :)

Ana Cristina 08-07-2004 22:17:30

Aun no funciona
 
Sigo con el mismo problema

marcoszorrilla 09-07-2004 07:27:28

Prueba:

Código Delphi [-]
Application.ProcessMessages;
FreeAndNil(qrAsientoDoc);

Un Saludo.

keys 09-07-2004 08:31:36

Prueba a poner el informe en un formulario, y creas el formulario y luego lo destruyes, eso es lo que hago yo y no tengo ningún problema. Acuerdate de quitarlo de Autocreate Forms.

Formulario := TFormulario.create(nil);
try
Formulario.informe.prepare;
Formulario.informe.preview;
finally
FreeAndNil(Formulario);
end;

Un Saludo. Agur :cool:


La franja horaria es GMT +2. Ahora son las 14:22:52.

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