Fórum Qual é a melhor forma de criar e destruír um Form? #291295

10/08/2005

0

Ola Pessoal
Estava pesquisando sobre o assunto e achei duas formas de Criar um form:

1) Application.CreateForm(TForm1, Form1);
2) form1 := Tform1.Create(Self);

Qual destas meneiras é a mais eficiente?

Outra dúvida:
Ao criar um form, primeiro eu preciso saber se ele já não foi criado. como eu faço isso?
E mais uma, qual a melhor forma de Destruír o Form?
Eu achei algumas:

1)Form1.close; {Essa acho que não destrói}
2)Form1.Free;
3)Form1.Release;

Valew pessoal


Seu_madruga

Seu_madruga

Responder

Posts

14/08/2005

Ksmarini

Amigo, existem várias formas de fazer a mesma coisa, eu por exemplo não uso nem uma das formas que vc usa, depois de muito pesquisar a forma que eu achei mais adquada pra trabalhar foi assim:

para verificar e criar o form eu faço assim:

[i:8fe3a6936c]//Verifica se o form está criado na memória[/i:8fe3a6936c]
if NomedoForm = nil then
[i:8fe3a6936c]//Se não estiver criado o sistema vai criar e se estiver
//criado o sistema exibe o Form em questão[/i:8fe3a6936c]
NomedoForm := TNomedoForm.Create(Application);
NomedoForm.ShowModal;

Para destruir o Form eu vou no evento onClose do form e coloco o seguinte código:

Action := caFree;
NomedoForm := nil;

se eu fosse exibir um msg pra perguntar se quero ou não fechar o form em questão ficaria assim:

if Application.MessageBox(´Deseja encerrar o programa?´, ´Fechar´, 36) = idyes then
begin
Action := caFree;
NomedoForm := nil;
end
else
Action := caNone;

Este código tb fica no evento onClose.

Espero ter ajudado, qq coisa posta aí ;-)


Responder

Gostei + 0

14/08/2005

Michael

Olá colega!

Veja este guia definitivo sobre criação de formulários no Delphi:

http://delphi.about.com/od/adptips2005/qt/nilselfapp.htm

[]´s


Responder

Gostei + 0

14/08/2005

Ksmarini

Caro Michel, gostei de ver que vc tb pesquisa muito, aliás gostei do site, pena que o mesmo está em inglês, reduzindo o aproveitamento pra um número generoso de usuários, mas trocando em miúdos no site diz praticamente a mesma coisa que eu disse, a única diferença é que eles usam dois métodos: um pra formulários modal e outro pra formulários não modal e o método que utilizo pode ser usado tanto pra um quanto pra outro.
de qualquer forma valews pelo interesse em ajudar ao próximo. :wink:


Responder

Gostei + 0

15/08/2005

Michael

Olá colega! Como vai?

Primeiramente, gostaria de dizer que meu nome é [b:74156346e9]Michael[/b:74156346e9], e não Michel. ;-)

Bom, saber um pouco de inglês é essencial para qualquer profissional de informática, não apenas programadores. E não é preciso falar fluentemente, basta ter um inglês técnico.

Quanto ao artigo, eu acho q ele não falou exatamente a mesma coisa vc. No seu exemplo, vc criou o form setando seu [b:74156346e9]Owner[/b:74156346e9] para [b:74156346e9]Application[/b:74156346e9], o que faz com q ele fique na memória até a aplicação ser finalizada. O correto em formulários modais é setar o proprietário para [b:74156346e9]nil [/b:74156346e9]e liberar da memória vc mesmo. Embora a primeria opção funcione para os dois casos, ela não é a mais adequada em termos de gerenciamento de memória para forms modais.

Se alguém não compreendeu o artigo pelo fato de ele não estar em português, poste aqui e eu vejo se arrumo um tempo de traduzí-lo. ;-)

[]´s


Responder

Gostei + 0

15/08/2005

Marco Salles

Se alguém não compreendeu o artigo pelo fato de ele não estar em português, poste aqui e eu vejo se arrumo um tempo de traduzí-lo


Mamae pagou um curso para mim , mas na época eu so queria era Farra..
Sei que nunca é tarde , mas to adiando esse curso... Fazer o que :?:


Responder

Gostei + 0

15/08/2005

Mahdak

[quote:5b4f211da7=´Marco Salles´]
Se alguém não compreendeu o artigo pelo fato de ele não estar em português, poste aqui e eu vejo se arrumo um tempo de traduzí-lo


Mamae pagou um curso para mim , mas na época eu so queria era Farra..
Sei que nunca é tarde , mas to adiando esse curso... Fazer o que :?:[/quote:5b4f211da7]


hahahahahahahahahah.... essa foi boa!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar