functions e procedures criando objetos
galera o om uma duvida na contrucao de functions e procedures criando objetos neles ...
exemplo:
procedure Paulo;
var
a: TStringLIst;
begin
a := TStringLIst.Create;
end;
vejem soh no caso como eh uma variavel da procedure qndo a procdure encerrar ela é destruida ?
e na function ?
e caso o resultado seje a function como ponho o stringlist.free (libero ele)
exemplo:
procedure Paulo;
var
a: TStringLIst;
begin
a := TStringLIst.Create;
end;
vejem soh no caso como eh uma variavel da procedure qndo a procdure encerrar ela é destruida ?
e na function ?
e caso o resultado seje a function como ponho o stringlist.free (libero ele)
Pauloc
Curtidas 0
Respostas
Macario
01/04/2008
Olá.
Se você esta se referindo ao escopo do Objeto, ele sendo criado dentro da Function ou Procedure, em tese será liberado ao final do escopo.
Mas por segurança faça a liberação.
8)
Se você esta se referindo ao escopo do Objeto, ele sendo criado dentro da Function ou Procedure, em tese será liberado ao final do escopo.
Mas por segurança faça a liberação.
8)
GOSTEI 0
Rodc
01/04/2008
Na verdade ao chegar ao fim da procedure o programa só desintanciará o ponteiro para o objeto TStringLIst. No caso, a variável a.
Tudo que você é instanciado com Create() é preciso destruir com Free(). No caso, a.Free(). Do contrário a memória só será desalocada quando o programa encerrar.
Tudo que você é instanciado com Create() é preciso destruir com Free(). No caso, a.Free(). Do contrário a memória só será desalocada quando o programa encerrar.
GOSTEI 0