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
...
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
