Liberar Objetos ¿Cómo resolver esto?
La creación de objetos se realiza sin problemas, en particular se trata de un objeto ”Casa” que contiene un array dinámico de objetos “Habitacion”.
Pero el problema es a la hora de liberarlos, dando error de violación de memoria.
¿Qué estoy haciendo mal?
¿Cómo debería hacerlo?
Si alguien lo consigue por favor decidme cómo!
Os pongo el código a continuación. Gracias compañeros.
...
Type
THabitacion = class (TObject)
Descripcion: string;
end;
TCasa = class (TObject)
Habitacion: array of THabitacion;
end;
var
Casa: TCasa;
implementation
procedure TForm1.BotonCrearClick (Sender: TObject);
begin
Casa:= TCasa.Create;
SetLength(Casa.Habitacion,1);
Casa.Habitacion[1]:=THabitacion.Create;
Casa.Habitacion[1].Descripcion:='Dormitorio';
end;
procedure TForm1.BotonLiberarrClick (Sender: TObject);
begin
Casa.Habitacion[1].Free;
Finalize(Casa.Habitacion);
Casa.Free;
end;
...
|