PDA

Ver la Versión Completa : Rave Report: Pierdo la ejecucion de mi programa al cancelar el "Generating"!!!!


jbautista
12-08-2008, 18:45:26
Hola que tal, nuevamente con problemas con el rave report y delphi 7.

Les cuento: Hice el diseño desde delphi de tal manera que cuando uno de click en mi boton imprimir automaticamente se muestre el "Preview" y ya desde ahi imprima, el punto es que mando a imprmir muchos registros (cada uno en una hoja) Aproximadamente unos 5000 registros u hojas.

Cuando uno da click en imprimir y antes de que aprezca la vista previa, aparece una ventanita que dice "Generating", donde va procesando todas las hojas, dicha ventana tiene el boton de cancelar, el problema es que como son muchos registros empieza a generar los primeros de manera rapida, pero conforme pasa mas tiempo, empieza a procesar cada vez mas lento, pero el verdadero problema es que si uno le da click en el boton "cancelar" sin que termine de procesar todas la hojas el focus ya no regresa a mi aplicacion.

Quisiera que me dieran su consejo para optimizar este inconveniente entre el el rave report y mis muchos registros, lo que hago es lo siguiente:

RvDataSetConnection1.dataset := ADOQuery1;
Archivo := (ExtractFilePath(Application.ExeName)+'Nom_Arch.rav')
//Mostrar en Pantalla
RvSystem1.DefaultDest := rdPreview;
RvSystem1.DoNativeOutput := false;
RvSystem1.RenderObject := RvRenderPreview1;
RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup];

RvProject1.Open;
RvProject1.Execute;
RvProject1.Close;

Para la conexion a mi BD ocupo componentes ADO.

Cuando se ejecuta el evento OnClick de mi boton "imprmir" pongo la propiedad enabled de mi form a False, para que mientras este abierto el preview no puedan hacer nada en la aplicacion (como si al imprimir el preview se pusiera en showmodal). Por cuando se cancela la ventanita del generating no regresa la ejcucion al programa y no hay nadie que ponga el enabled del form nuevamente a True.

Que me sugieren que se haga para que cuando cancele la ventana del generating la ejecucion regrese a mi aplicacion y tambien para agilizar la generacion de hojas.

Gracias compañeros(as).

ElDioni
22-08-2008, 12:41:01
Pues yo creo que lo que te pasa es que la memoria de tu ordenador se peta, no veo la necesidad de abrir 5000 previsualizaciones a la vez. Pon, por ejemplo, un bucle que abra un registro y una vez cerrado abra el siguiente, asi se descarga uno y se carga el siguiente.
Espero te haya ayudado. Un saludo.