Fórum destruir form #190197
22/10/2003
0
Em caso de se distruir o form, qual é a ação a ser vinculada ?
Pithon
Curtir tópico
+ 0Posts
22/10/2003
Eduardo Pereira
Poderia ser feito assim:
...
var
frmCadastro: TfrmCadastro;
begin
frmCadastro:= TfrmCadastro.Create(Application);
....
frmCadastro.ShowModal; // ou .Show
....
frmCadastro.Free;
end;
Esta rotina poderia estar no form chamador (no evento OnClick de um botão), ou dentro do própria unit do form a ser criado, em uma rotina chamada, por exemplo, AbreCadastro. Desta forma o form de cadastro pode ser chamado de qualquer outro ponto do programa com mais facilidade.
Lembre-se que é necessário retirar o form do auto-create, nas opções do projeto.
[]´
Eduardo Pereira
Gostei + 0
22/10/2003
Pithon
Gostei + 0
23/10/2003
Raserafim
Mas se você prefere que a abertura da aplicação seja um pouco mais lenta mas em compensação a abertura dos forms seja mais rápida, então deixe os forms serem criados na inicialização da aplicação.
Um meio termo seria deixar o delphi carregar na inicialização os forms que serão mais utilizados e os outros sendo criados e destruidos no momento em que são utilizados. Para isto faça o seguinte:
no comando que vai chamar o form, primeiro crie-o com o comando
[b:0b56172d8c]Application.CreateForm(TFrmFuncionarios, FrmFuncionarios);[/b:0b56172d8c]
onde o primeiro parâmetro é a classe do form e o segundo é o nome do form. E depois chame o método Shjow ou ShowModal.
[b:0b56172d8c] FrmFuncionarios.Show;[/b:0b56172d8c]
E para que o form seja destruido quando for fechado, no evento [b:0b56172d8c]OnClose[/b:0b56172d8c] coloque [b:0b56172d8c]Action := caFree;[/b:0b56172d8c]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)