Ver Mensaje Individual
  #11  
Antiguo 06-06-2019
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

La verdad es que no veo claramente como estas usando esas clases, pero para crear y liberar recursos dispones de los constructores y destructores. Si TPresupuesto crea un TCliente, es su responsabilidad liberarlo.

Como ejemplo:
Código Delphi [-]

....
type
  TCliente = class
  private
    FId: Integer;
    FNombre: string;
    //...
  public
    property ID: Integer read FId write FId;
    property Nombre: string read FNombre write FNombre;
    //...
  end;

  TPresupuesto = class
  private
    FId: Integer;
    FCliente: TCliente;
  public
    property Id : Integer read FId write FId;
    property Cliente: TCliente read FCliente write FCliente;
    constructor Create;
    destructor Destroy; override;
  end;

{ TCliente }
 //...


{ TPresupuesto }
constructor TPresupuesto.Create;
begin
  inherited;
  FCliente := TCliente.Create;  // crear
end;

destructor TPresupuesto.Destroy;
begin
  if Assigned(FCliente) then 
    FreeAndNil(FCliente);   // liberar
  inherited;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita