Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Assim como na linguagem Delphi nativa o scripter também trabalha com os objetos seguindo seu ciclo de vida. Ou seja, fica a cargo do desenvolvedor do script tanto a criação como uso como “destruição” do objeto envolvido, para que o mesmo não fique constando em memória.

A sugestão quanto a isso é que os objetos criados sejam utilizados e eliminados utilizando estruturas de try… finallyApós a criação dos objetos a boa prática é implementar a estrutura de TRY e o FINALLY. Desta forma o compilador irá tentar resolver o que está dentro da cláusula TRY e caso ocorra algum erro, então irá pular diretamente para a cláusula FINALLY e realizar a limpeza da memória para o objeto criado. Caso não ocorram erros durante a execução, a limpeza da memória será executada da mesma forma pela cláusula FINALLY.

Abaixo um exemplo de código propondo a criação de um objeto do tipo TStringList, sua utilização e sua e na sequência a eliminação através do método free. A falta da chamada ao método free resulta no objeto ainda em memória depois da utilização do script e isso pode gerar problemas quanto ao uso de memória pelo software. FREE.

Code Block
languagedelphi
uses
  Classes; // unit que tem a definição da classe TStringList

var
  str : TStringList; //declaração da variável
begin
  str := TStringList.Create; // criação do objeto
  try
    str.add('Testando'); //utilização do objeto
    str.add(' ciclo de vida');
    str.add(' de objetos no script.');    
     ShowMessage(str.Text);
  finally
    str.free; //destruição/eliminação do objeto
  end;
end;

Note

A falta da chamada ao método FREE resulta no objeto ainda em memória depois da utilização do script e isso pode gerar problemas quanto ao uso de memória pelo software e vazamentos de memória, que podem atrapalhar o uso do software como um todo.

Para facilitar ainda mais o entendimento, foi produzido um vídeo sobre este conteúdo. Para acessá-lo, utilize o link abaixo:

...