Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   ¿Temporal enorme en QuickReport??!!! (https://www.clubdelphi.com/foros/showthread.php?t=10622)

Diegoval 24-05-2004 23:07:36

¿Temporal enorme en QuickReport??!!!
 
Hola foro!

Tengo el siguiente problema: Cuando hago un preview con el QuickReport desde Delphi 7, se queda colgado y, luego de revisar un poquito que es lo que estaba haciendo, me di cuenta que generaba un archivo tmp que crecia sin parar hasta que se quedaba sin espacio el disco (Llega a pesar gigas).

El tema es que no se por qué, ya probé cambiar la ruta TMP.

Muchas gracias.
Diego.

delphi.com.ar 24-05-2004 23:14:28

¿Y que tal la consulta que carga el reporte?... ¿No será algo grande?

Diegoval 26-05-2004 14:29:32

No, solamente son 920 registros, lo confirmo justo antes de hacer el .Preview...

No tengo ni idea que puede ser, ya que hay otros reportes aun mucho mas grande que me los imprime sin problemas, por lo que descarto que pueda ser un problema del QReport. El tema es que no sé por donde buscar....



QUE RARO!!!!!!

Gydba 26-05-2004 15:26:05

Buenas, en lo particular utilizo el FastReport (si, he dejado el freereport :(), pero lo que yo probaría es tirar una consulta que devuelva un número de registros mínimo para probar que pasa.

También probaría de recrearme la plantilla del qreport por si las moscas, y por demás ver si hay alguna actualización del reporteador por algún lado.

Por cierto ¿El error lo probaste con otra PC?

marcoszorrilla 26-05-2004 16:04:33

Te puedo comentar que yo utilizo QuickReport y hago consultas de más de 10.000 registros y me los lista sin ningún problema.

Un Saludo.

keys 26-05-2004 17:10:28

Ese fichero temporal lo crea el QReport, ya que cuando el informe es muy grande lo que hace es tirar de ese fichero temporal 'qr****.tmp', seguramente tendrá ese nombre. Según parece el número de registros no es muy elevado, pero por algún motivo el Qreport está generando un informe enorme y por eso genera un fichero tan grande.

Un consejo es que sigas los eventos de la generación del informe haber si pasa de los 920 registros que dices que tiene el informe.

Un Saludo. y espero que te sirva. :-)

Diegoval 26-05-2004 18:01:34

No Se Que Puede Ser!!!!
 
Es verdad, el archivo se llama qr***.tmp, el tema es que ese archivo no para de crecer ne bien hago el .Preview...

Me aparece el reporte con los primeros datos y un 5% finalizado, y ahi se queda como "colgado" no responde, cuando me fijo el tamaño del archivo veo que crece a lo loco, en un tiempito me llega a 1 GB y sigue... lo probé en Win 98 y 2000. Lo raro es que hay otros reportes mucho mas grandes (miles de registros) que funcionan perfectamente en las mismas máquinas.

NO SE QUE PUEDE SER!!!!

Gracias igual.
Diego.

PD: Ya me fijé que en los AfterPrint y BeforePrint no haya código, eso está todo revisado, el código es muy sencillo...

Gracias nuevamente

keys 26-05-2004 18:17:48

Por lo que parece es que el informe se sigue generando, es decir no tiene fin y por eso el fichero crece tanto.

El informe tiene un evento que es OnstartPage, que en principio se activa cuando empieza una pagina. Programa este evento y pon un punto de ruptura para ver si se están generando muchas paginas. Algo tienes que hace que el informe no termine de generarse nunca. Si no es este evento utiliza otros para ver si el informe genera un número muy grande de paginas.

Por cierto lo tienes enlazado a alguna consulta o lo estás generando desde memoria.

Gydba 26-05-2004 18:52:43

Para mi es bastante evidente que los reportes que estás probando no son iguales, de serlo no fallarían unos y andarían los otros. Pero también tengo presente que pueden ocurrir cosas misteriosas con algunos temas.

Según miré por la web los qreport generan un metafile en un archivo temporal para realizar el preview. Obviamente si se te queda colgado y el archivo sigue creciendo es que el reporteador no ha terminado de interpretar los datos o ha entrado en una recursión infinita.

Yo desconozco si recreaste la plantilla para probar o si le tiraste una consulta mínima como te dije en mi post anterior, eso queda por tu cuenta.

Lo que si puedo preguntarte es si estas utilizando algún campo de tipo blob o binario que pueda estar volviendo loco al reporte.

Diegoval 26-05-2004 20:34:48

Puse el break en el StartPage y no paso ni una vez, hay algo muy raro, el reporte no es tan grande, son solamente 920 registros y ninguno de los campos es blob o cosas raras.
Lo unico que puedo agregar es que tomo los datos de un ClientDataSet creado en memoria (CreateDataSet), eso es todo...

Si alguien tiene alguna idea, bienvenida sea...

Gracias
Diego

Diegoval 26-05-2004 20:41:46

Perdón si pasa por el OnStartPage, el tema es que no para nunca...genera...genera...genera...

Gracias

__cadetill 27-05-2004 00:26:08

Para ir descartando..... en qué eventos del Report haces cosas y qué cosas son?

Diegoval 27-05-2004 14:25:42

¡Listo!
 
Listo, foro, ¡EUREKA!

El problema era que tenía la propiedad ForceNewPage del Column Header en True, y esto parece que lo cuelga...

Disculpen, era una tontería, pero... ¡qué difícil de encontrar!

Muchísimas gracias.
Diego


La franja horaria es GMT +2. Ahora son las 14:51:40.

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