Ver Mensaje Individual
  #1  
Antiguo 13-11-2013
Comandant Comandant is offline
Miembro
NULL
 
Registrado: ago 2012
Ubicación: Salta
Posts: 34
Reputación: 0
Comandant Va por buen camino
El Destructor "destruye" las propiedades?

Hola a todos y tengo una duda y es justamente si el destructor destruye todos los objetos y propiedades heredados o tengo que hacerlo manualmente aquí les dejo un ejemplo sencillo que veo que aun puedo acceder a la propiedad TRect.

Código:
type
  TRecuadro = class
  private
    FRect: TRect;
  public
    constructor Create;
    destructor Destroy; override;
    procedure Dibujar(Pain: TPaintBox);
    property Recta: TRect read FRect;
  end;

.....

constructor TRecuadro.Create;
begin
  inherited;
  FRect.Top:= 0;
  FRect.Bottom:= 50;
  FRect.Left:= 0;
  FRect.Right:= 50;
end;

destructor TRecuadro.Destroy;
begin
  //aqui hago manualmente la destruccion 1 x 1? pense que era automático
  inherited;
end

procedure TRecuadro.Dibujar(Pain: TPaintBox);
begin
  Pain.Canvas.Rectangle(0,0,50,50);
end;

procedure TForm1.sButton1Click(Sender: TObject);
var mar: TRecuadro;
begin
  mar:= TRecuadro.Create;
  edit1.Text:= IntToStr(mar.FRect.Right);
  mar.Dibujar(PaintBox1);
  mar.Free;
  edit2.Text:= IntToStr(mar.FRect.Right)
end;
y en el edit2 me aparece aun la propiedad. Esta bien esto?
Responder Con Cita