Ver Mensaje Individual
  #6  
Antiguo 23-07-2017
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
Un Access Violation indica que estas accediendo a memoria que no asignaste antes; en palabras simples, cuando le mandas un mensaje a un objeto que no fue asignado, por ejemplo, un nil. Hay casos mas complicados donde se crea un objeto, se libera y luego se le siguen mandando mensajes:

Código Delphi [-]
var
  obj: TMiClase;
begin
  obj := nil;
  obj.Algo; // EAccessViolation
  
  obj := TMiClase.Create;
  obj.Algo; // todo bien
  
  obj.Free; // liberar memoria, pero notese que obj es distinto de nil
  Assert(obj <> nil);
  obj.Algo; // EAccessViolation
end;

Cuales son los valores de todas las variables cuando rompe el programa? Estan todos los objetos creados e inicializados correctamente?

Cuando recuperas el campo blob 'as_modulo', este te devuelve un objeto de tipo TBlobField? Que dice el depurador del valor de esta variable?
Que ocurre cuando llamas a la funcion CreateBlobStream? Esta termina correctamente?

Cual es el valor del objeto TablaAcc?
Responder Con Cita