FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿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. |
#2
|
||||
|
||||
¿Y que tal la consulta que carga el reporte?... ¿No será algo grande?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
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!!!!!! |
#4
|
|||
|
|||
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?
__________________
Suerte .: Gydba :. |
#5
|
||||
|
||||
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.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
||||
|
||||
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. :-) |
#7
|
|||
|
|||
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 |
#8
|
||||
|
||||
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. |
#9
|
|||
|
|||
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.
__________________
Suerte .: Gydba :. |
#10
|
|||
|
|||
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 |
#11
|
|||
|
|||
Perdón si pasa por el OnStartPage, el tema es que no para nunca...genera...genera...genera...
Gracias |
#12
|
|||
|
|||
Para ir descartando..... en qué eventos del Report haces cosas y qué cosas son?
|
#13
|
|||
|
|||
¡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 |
|
|
|