Yoshio wrote:
> Olá pessoal.
> Estava fazendo um form para ser herdado, porem não consegui fazer com
> que os forms descendentes se "auto-liberar" da memória. Para cada form
> descendente eu tenho que colocar este código no OnClose:
> ----------------------------
> Action := caFree;
> FormDescendente1 := nil; // ou FormDescendente2, FormDescendente3...
> ----------------------------

O problema que você tem não é o auto-liberar. O caFree faz isto. O 
problema é que você tem um ponteiro (FormDescendente1) que aponta para 
um objeto destruído, e que poderá te causar um AV mais adiante.

> É praticamente o mesmo código em todos os forms descendentes. Não há
> uma maneira de fazer isto automático, como algum código no OnClose do
> form herdado que faz isso automaticamente?

Escrevi sobre isso:

http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html

Joao Morais

Responder a