Cita:
Empezado por DarkMan
... 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
ObjMiClase: cMiClase;
public
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.