Ver Mensaje Individual
  #3  
Antiguo 09-03-2007
jlrbotella jlrbotella is offline
Miembro
 
Registrado: ene 2007
Posts: 185
Reputación: 18
jlrbotella Va por buen camino
Hola:

La única forma de liberar la clase es llamando al método destroy, que a su vez hace free.

¿Porqué es necesario crear un destructor de clase?.

Aquí tienes el código completo:

Código Delphi [-]
TConsultarCliente = class
private
Conexion : TIfxConnection;
public
function Buscar(empresa : integer; anyo integer) : TDataset;
constructor Create(Conexion : TIfxConnection);
destructor Destroy;
end;

constructor TConsultarCliente.Create(Conexion: TIfxConnection);
begin
self.Conexion := conexion;
end;

destructor TConsultarCliente.Destroy;
begin
self.free;
end;

function TConsultarCliente.Buscar(empresa : integer; cliente : integer) : TDataset;
begin
....
result := consulta;
end;

// La llamado desde una clase tform
procedure TForm1.Button1Click(Sender : TObject)
var
ConsultarCliente : TConsultarCliente;
Dataset : TDataset;
begin
ConsultarCliente := TConsultarCliente.Create(IfxConnection);
Dataset := ConsultarCliente.Buscar(1,5);
showmessage(Dataset.fieldbyname('razon'.asstring);

// ConsultarCliente.Free -> No hace nada
Consultarcliente.Destroy; // Libera la clase
end;
Responder Con Cita