Ver Mensaje Individual
  #1  
Antiguo 15-05-2012
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
EAccessViolation después de cerrar el programa

Hola,

Antes de nada, aclaro que quiero indicaciones de por donde atacar el problema, no espero una solución directa.

Tengo una aplicación que peta después de cerrarse, sale la típica ventana de windows "El programa dejó de funcionar y tal" y después de cerrarlo, aparece un EAccessViolation con una dirección de memoria fija 0002657C me hace suponer que es algo que se está destruyendo dos veces pero como digo, ocurre en el dpr después del Application.Run, es decir en el "end."

La aplicación es compleja: Delphi 7 Update 2 con FastMM, componentes IBX 7.11, Firebird 2.5, Indy 9.00, 3 ó 4 ActiveX con programación COM

Como todas las ventanas se crean en ejecución, he logrado acotar el problema a abrir la ventana principal del programa (MDI), cerrarla y obtener el pete. Ahí están las unidades de inicialización de IBEvents, Indy (Antifreeze), etc.


He configurado FastMM para que me enseñe las fugas de memoria, aunque he encontrado unas cuantas, no es nada del tipo de error que me da.

Tambien he usado la JCLDebug con el diálogo de Excepción, mostrando la pila de llamadas y tal, pero en ese punto de la aplicación ya no salta. Es más, tengo el "Stop on Delphi Exception" y el depurador de Delphi no se para.

¿Es correcto pensar que está fallando en una claúsula "finalization" y/o destructor de algo?
¿algo más que mirar?
¿alguna forma de abordar estos errores?

Saludos y gracias
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita