Ricardo César Cardoso wrote:
> Obrigado pela explicação Davi. Realmente, vi que a minha "solução"
> não era uma boa prática, apesar de funcional, mas não sabia
> exatamente o porque... Valeu mesmo.
> 
> Então o conselho resumido seria: ao invés de utilizar uma Function,
> utilize uma Procedure?

O meu pitaco é: se você cria um string list que continuará em memória, 
use uma função, de preferência com um nome sugestivo como CriaLista.

Se a lista é temporária, passe-a para uma procedure, ou uma função 
boolean para indicar se ocorreu tudo ok ou não. A procedure deve receber 
a lista já instanciada e vai apenas populá-la. Ex de uso:

begin
   VLista := TStringList.Create;
   try
     UsaLista(VLista);
     // algum processamento na lista
   finally
     VLista.Free;
   end;
end;

--
Joao Morais

Responder a