Ver Mensaje Individual
  #2  
Antiguo 12-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
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
Responder Con Cita