PDA

Ver la Versión Completa : violacion de acceso al cerrar el informe, ¿porque?


URBANO
04-06-2004, 10:35:45
Hola foro,
Tengo un programa realizado en delphi5 y este posee varios informes hecho en Qreport. Todos esto informes funcionan bien, lo abros, los cierros, los impremos. El problem esta cuando pido varios informes seguido, es decir, pido un listado clientes, cierro y luego pido uno de proveedores, cierro y pido otro, asi hasta que en uno de ellos al cerrar me da el siguiente error:

Violation de Acceso al direccion 00537691 en el modulo 'GEST.EXE' leer de direccion 0177c412.

Una vez que ha salido este error intento acceder a un informe y me da el siguiente error:

Ya existe un componente con el nombre QRstarndardPreview.

Yo cada vez que cierro el informe, libero la ventana, es decir:

Informe.Preview;
Informe.tablas.close;
Informe.free;
ventana.close; //ventana donde llama al informe

Podría decirme alguien a que es debido esto o que es lo que estoy haciendo mal.

Gracias y saludos.

delphi.com.ar
04-06-2004, 15:32:45
Tené en cuenta que el método Preview no detiene el hilo de ejecución, por lo tanto apenas ejecutado el preview se ejecutarán las líneas de código posteriores. No se lo que necesitas, pero puedo sugerirte utilizar PreviewModal.

Saludos!

URBANO
04-06-2004, 18:32:57
He leido tu respuesta delphi.com.ar y voy a probar lo que me comentas. Pero una pregunta, al utilizar PreviewModal, con este opcion ¿se detiene el hilo de ejecución?

Saludos.

delphi.com.ar
04-06-2004, 18:39:06
...al utilizar PreviewModal, con este opcion ¿se detiene el hilo de ejecución?
Si, es igual que la diferencia entre un Show y ShowModal de un TForm.

Saludos!

URBANO
05-06-2004, 09:21:51
He probado lo que me has comentado delphi.com.ar y parece que ya no da el error que comentaba, espero que todo siga asi.

Gracias y saludos.

URBANO
24-06-2004, 19:36:17
Todo ha sido un espejismo. Otra vez me sigue pasando lo mismo. He cambiado Preview por el PreviewModal, pero sigue pasandome igual.
delphi.com.ar, gracias por tus comentarios pero al final el problema sigue igual, se te ocurre alguna otra razon.
Si alguien tiene alguna idea que me la comente.

Gracias y saludos.