Ver Mensaje Individual
  #7  
Antiguo 13-11-2016
rmendoza83 rmendoza83 is offline
Miembro
 
Registrado: ago 2006
Posts: 50
Reputación: 18
rmendoza83 Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Los Access Violations no son muchas las posibilidades:

Código Delphi [-]
procedure Foo;
var
  bla: TAlgunaClase;
begin
  // el objeto no fue inicializado.. en realidad en estos casos puede pasar "cualquier cosa"
  // ya que bla es un puntero a alguna zona de memoria que vaya uno a saber que tiene
  bla.AlgunMetodo; // EAccesViolation es lo mas "normal"

  bla := TAlgunaClase.Create;
  bla.AlgunMetodo; // todo bien
  bla.Free;
  bla.AlgunMetodo; // EAccesViolation, porque se libero la memoria a la que apuntaba bla

  bla := nil;
  bla.AlgunMetodo; // EAccesViolation
end;

El depurador no te lleva a la linea que produce la excepcion? la forma mas sencilla de rastrearlo es con un depurador. Revisa los destructores. Revisa el codigo que no acceda a cosas que no fueron creadas/hayan sido liberada de memoria. Pon puntos de ruptura y sigue paso a paso. Mira hasta donde llega el programa y donde se rompe

Gracias por la respuesta! Realmente es lo que hago! pero no encuentro el problema! pero es como digo que el codigo funciona bien en otros modulos pero ese en particular no! le echaste un ojo a los codigos? muy complejos?
Responder Con Cita