![]() |
Error al salir del preview.
Hola a todos.
Tengo que el siguiente problemita del cual les agradecería la ayuda que me puedan prestar. Tengo una apliación en Delphi (Claro está :) ) y en la cual utilizo el QuickReport para generar los informes, pero el problema se presenta cuando presento el Preview, ya que al salir al form desde donde es invocado el Preview, me presenta el siguiente error: Access violation at address 004DFB54 in module 'SGECE.exe'. Read of address 6f747584. Lo extraño en todo esto es que dicho error no siempre se presenta y no sabría decir con qué frecuencia aparece, sólo que cuando se presenta es en algunas ocasiones después de generar el preview de cualquier reporte de los que tengo en la aplicación. Otra cosa, esto no causa ningún problema (hasta donde creo) , pero es bastante molestoso ese mensaje de error, el cual el usuario tiene que hacer clic para que desaparezca la ventana. Vpepen.- |
Pues tendrías que revisar tu código para ver en que parte se presenta ese error y porque estas tratando de acceder a algo que ya no existe; es por eso que te aparece ese error.
|
¿Usas delphi 6 y QuickReport 3 (el que viene con delphi)?
|
Cita:
Vpepen.- ************* |
En windows 2000/XP tienes que cambiar la variable de entorno TEMP y TMP de windows y ponerle una ruta de menos de 31 caracteres. Actualmente usará "c:\documents and settings\.....". Intenta con "c:\windows\temp" y "c:\windows\tmp" (creando las carpetas primero.
Ten cuidado al liberar los informes de quickreports o las ventanas, usa freeAndNil(Form1) en lugar de Form1.Free, es más seguro. Una Violación de Acceso a Memoria puede dejar la aplicación en un estado inestable, es decir, si es un error grave. Está intentando acceder a una posición de la memoria que no le pertenece. Suele ocurrir con código de este estilo: Puede que se llamen en ese orden, pero desde diferentes ventanas, y es ahí donde se produce la excepción: Access Violation read of address XXXXX. Saludos |
Gracias por tus sugerencias Lepe, trataré de aplicar lo que dices para ver si el problema se corrige.
Vpepen.- ************* |
Algo que no comprendo y me gustaría si alguien me puede sacar de esa inquietud: A qué se debe que el error no siempre aparece?
Vpepen.- *********** |
Cita:
Vpepen.- ************* |
Entonces supongo que creas todas tus ventanas al inicio del programa y después muestras u ocultas el form correspondiente ¿es cierto?, ¿liberas y creas dinamicamente las ventanas?
Sería conveniente que incluyas algo de código, de como llamas al QuickReports, y qué propiedades modificas... no sé quizás veamos alguna mejora en el código que, colateralmente, elimine el fallo. Si puedes, llámalo con PreviewModal, aunque cambia un poco el comportamiento de la aplicación, no sé si será viable. Al llamarlo con Preview, el QuickReport simula una ventana modal, pero realmente no lo es. El hecho de que ocurra algunas veces, es lo que hace que se sea un problema, si falla siempre se encuentra rápido con breakpoints jejeje. Ten en cuenta que QuickReports es un módulo de terceros, que se apoya sobre windows, la cola de impresión, las impresoras existentes, etc... Son muchas las variables que intervienen. Saludos |
Cita:
Cita:
Vpepen.- ************** |
¿los datos que muestras en en Preview de donde vienen?
¿consultas? ¿no necesitas pasarle parámetros a esas consultas? ¿tablas? Quizás fuera conveniente crear alguna rutina al estilo:
De esta forma puedes controlar mejor si la tabla/consulta está abierta, si necesitas cerrarla para refrescar los datos, pasarle parámetros, etc. No es buena idea dejar la consulta abierta en tiempo de diseño y "pensar" que al ejecutar el programa nada va a fallar. Saludos. |
Cita:
Cita:
Bueno, hasta ahora he tratato todas las sugerencias que me has dado y parece que la cosa está un poquito difícil, pero nada.... a seguir intentádolo hasta corregir el problema ;) De todas formas Gracias Lepe por tu ayuda y tu valioso tiempo. Cualquier sugerencia adicional me la haces saber. Vpepen.- ************* |
La franja horaria es GMT +2. Ahora son las 18:37:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi