Ver Mensaje Individual
  #6  
Antiguo 15-02-2009
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Reputación: 18
DarkMan Va por buen camino
Sí que lo llama, sino te lo crees analicemos el código de cada procedimiento:

FreeAndNil:
Código Delphi [-]
procedure FreeAndNil(var Obj);
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  Temp.Free;
end;

llama a Free del objeto que indiques en Obj.

Obj.free:
Código Delphi [-]
procedure TObject.Free;
begin
  if Self <> nil then
    Destroy;
end;

Aquí llama al método destroy del propio objeto.

Si te fijas, para que se llame al método destroy existe la condición de que el objeto exista:
Código Delphi [-]
...
 if Self <> nil then
...

Así que en conclusión podemos sacar que fallas también a la hora de crear ese objeto, puede que estés cometiendo el mismo error.

Edito:
en la unit2 te faltan los inherited dentro del constructor y destructor.
__________________
"La recompensa de una buena acción está en haberla hecho"

Última edición por DarkMan fecha: 15-02-2009 a las 18:29:14.
Responder Con Cita