Ver Mensaje Individual
  #3  
Antiguo 15-02-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Reputación: 16
noob Va por buen camino
Cita:
Empezado por DarkMan Ver Mensaje
... después ese método free se encarga de llamar al método destroy ...
He hecho esto:

Unit1:

Código Delphi [-]
unit Unit1; 

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit2;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
    ObjMiClase: cMiClase;
  public
    { public declarations }
  end; 

var
  Form1: TForm1; 

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ObjMiClase := cMiClase.Create;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  FreeAndNil(ObjMiClase);
end;

end.

Unit2:

Código Delphi [-]
unit Unit2; 

interface

uses Unit3;

type
  cMiClase = class
               private
                 Obj: cMiClase2; 
               public
                 constructor Create;
                 destructor Destroy; override;
             end;

implementation

constructor cMiClase.Create;
begin
  Obj := cMiClase2.Create;
  inherited Create;
end;

destructor cMiClase.Destroy;
begin
  FreeAndNil(Obj);
  inherited Destroy;
end;

end.

Unit3:

Código Delphi [-]
unit Unit3; 

interface

type
  cMiClase2 = class
                private
                public
                  destructor Destroy;
              end;

implementation

destructor cMiClase2.Destroy;
begin
  inherited Destroy;
end;

end.

y al pulsar el botón el objeto se destruye pero no llama al método Destroy como dices.

Última edición por noob fecha: 15-02-2009 a las 22:47:50.
Responder Con Cita