Ver Mensaje Individual
  #4  
Antiguo 04-12-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
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 BDWONG.

Yo creo que la respuesta mas directa a la pregunta ¿ Cuál es el mejor momento para liberar un objeto ? es: Cuando ya no precises usarlo.

Pero en la práctica hay situaciones en las que no se conocen a priori cuales, ni cuantas veces precisarás llamar a alguno de sus métodos. Si bién podrías crear/destruir el objeto las N-veces que precises usarlo, considero mas práctico y menos propenso a errores (por LOC), unificar la creación y liberación del objeto con la del formulario.

Por otro lado, si tu intención es encapsular varios métodos en una clase y esta sólo contiene métodos, nada te impide usarlos sin tener que crear una instancia de la misma, como podría hacerse en el caso de tu ejemplo:
Código Delphi [-]
...
type
  TCifrado=class(TObject)
    function C_xor(const Cadena: string): string;
    function Reverse(const Cadena: string): string;
    function Rotn(const Cadena: string; const N: Integer): string;
  end;

implementation

{ TCifrado }

...

function TCifrado.C_xor(const Cadena: string): string;
var
  i: Integer;
begin
  Result:='';
  for i:= 1  to Length(Cadena) do
    Result:= Result + Chr(Ord(Cadena[i]) xor Length(Cadena));
end;
...

Uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  ci: TCifrado;
  Cadena: string;
begin
  Cadena:= 'Cadena de prueba';
  Cadena:= ci.C_xor(Cadena);
  ShowMessage(Cadena + ' / ' + ci.C_xor(Cadena));
end;

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 04-12-2014 a las 06:57:06.
Responder Con Cita