Ver Mensaje Individual
  #26  
Antiguo 14-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Je, je, ahora ya estamos con los TThread. Pues sí, es como dices maeyanes. E incluso para otro tipo de situaciones puede definirse un método de clase que se encargue de instanciar un objeto, hacer cositas con él, liberarlo y se acabó.

Por ejemplo, si tenemos una clase TPropiedadesPersona, derivado de TForm para editar las propiedades de un objeto TPersona, puede definirse un método de clase:

Código Delphi [-]
type
  TPropiedadesPersona = class(TForm)
     ...
  public
    property Persona: TPersona .....;
    class procedure Editar(P: TPersona);
  end;

...

class procedure TPersona.Editar(P: TPersona);
var
  Form: TPropiedadesPersona;

begin
  Form := TPropiedadesPersona.Create(nil);
  Form.Persona := P;

  try
    Form.ShowModal;
  finally
    Form.Free;
  end;
end;

De esta manera, para editar las propiedades, simplemente haríamos:

Código Delphi [-]
TPropiedadesPersona.Editar(P);

sin más nada.

// Saludos
Responder Con Cita