Fórum Fechar Form: Release ou Free ?? #301172
29/10/2005
0
[i:4a2512ba2d]Action := caFree;
Release;[/i:4a2512ba2d]
Não se ao certo se é necessário usar essas duas linhas, ou se bastasse usar o [b:4a2512ba2d]Action := caFree[/b:4a2512ba2d] ou apenas [b:4a2512ba2d]o Release[/b:4a2512ba2d]
Alguém poderia me dar um help,
abraço,
Eniorm
Curtir tópico
+ 0Posts
29/10/2005
Alcantarus
[i:083e1a51ed]Action := caFree;
Release;[/i:083e1a51ed]
Não se ao certo se é necessário usar essas duas linhas, ou se bastasse usar o [b:083e1a51ed]Action := caFree[/b:083e1a51ed] ou apenas [b:083e1a51ed]o Release[/b:083e1a51ed]
Alguém poderia me dar um help,
abraço,[/quote:083e1a51ed]
Caro amigo,
Eu particularmente uso no Evento OnClose do Form:
FreeAndNil(fmFormulario), onde fmFormulario é o nome de seu Form.
Abraços,
Alcantarus.
Gostei + 0
29/10/2005
Eniorm
Certo, mas no meu caso que teria que colocar o FreeAndNill no formPadrao,
FreeAndNill(formPadrao)
isso não funcionaria para os forms filhos que foram herdados de formPadrao,
como proceder neste caso?
Gostei + 0
29/10/2005
Alcantarus
Certo, mas no meu caso que teria que colocar o FreeAndNill no formPadrao,
FreeAndNill(formPadrao)
isso não funcionaria para os forms filhos que foram herdados de formPadrao,
como proceder neste caso?[/quote:3887484f19]
Coloque no OnClose dos Filhos tb...
Abracos,
Alcantarus.
Gostei + 0
29/10/2005
Michael
Como liberar um form depende essencialmente de como ele foi criado.
É preciso ter em mente o seguinte: se os forms forem criados automaticamente junto com a aplicação, então ela é que deve liberá-los. Se forem criados via código, com a possibilidade se serem destruídos posteriormente, é necessário ter certeza de passar como Owner [b:bcb4b8a331]nil[/b:bcb4b8a331], e não [b:bcb4b8a331]Self [/b:bcb4b8a331]nem [b:bcb4b8a331]Application[/b:bcb4b8a331].
Não proceder assim vai causar memory leaks na aplicação, reduzindo sua perfomance e em alguns casos, travar o PC.
Esse é um excelente artigo sobre criação de formulários: [url=http://delphi.about.com/od/adptips2005/qt/nilselfapp.htm]TForm.Create(?) Nil, Self or Application?[/url]
[]´s
Gostei + 0
29/10/2005
Raserafim
FreeAndNill(Self)
o Self vai ser substituido pelo nome do form atual. e retire o inherited
Gostei + 0
29/10/2005
Martins
var FClient : TForm; begin FClient := TF_Clientes.Create(nil) ; try FClient.ShowModal; finally FClient.Free; end; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)