Criação de Form´s (Application) ou (Self)!!!
Ae galera blz!! Eh o seguinte tava aqui programando e veio essa duvida na cabeça!! qual, quando e onde usar Tform1.Create(self) ou Tform1.Create(Application)!! Vlw!!! :?
Fred
Curtidas 0
Melhor post
Beppe
03/03/2005
Este parâmetro(gerlamente Application, Self, ou ainda, nil) indicará o responsável or tirar o componente(no caso o form) da memória.
Application: Será destruído ao encerrar o programa.
Self: Será destruído quando o Self(que geralmente é um form) tb for destruído.
nil: Vc mesmo terá que liberar da memória.
Se for pra exibir um form modal eu geralmente uso:
Podem não ser as formas mais simples, mas com certeza as mais efetivas(pra mim). Eu não uso variáveis globais, se vc usa, precisa jogar o objeto criado pra elas.
Application: Será destruído ao encerrar o programa.
Self: Será destruído quando o Self(que geralmente é um form) tb for destruído.
nil: Vc mesmo terá que liberar da memória.
Se for pra exibir um form modal eu geralmente uso:
with TMyFormModal.Create(nil) do try ShowModal; finally Free; end;
TMyFormNonModal.Create(Application).Show;
Podem não ser as formas mais simples, mas com certeza as mais efetivas(pra mim). Eu não uso variáveis globais, se vc usa, precisa jogar o objeto criado pra elas.
GOSTEI 1
Mais Respostas
Salsa
03/03/2005
cara nao sei se to certo ....
mas self ele cria o form a partir da propria aplicaçao...
e o application .. ele cria o form como uma aplicaçao ...
nao sei se eh isso...
se alguem souber por favor me corrija ... hehehhhe :)
mas self ele cria o form a partir da propria aplicaçao...
e o application .. ele cria o form como uma aplicaçao ...
nao sei se eh isso...
se alguem souber por favor me corrija ... hehehhhe :)
GOSTEI 0
Fred
03/03/2005
Vlw, deu pra dar uma luz!!! Existe algum problema de se usar o nil, alem de ter que destruir o form!! tipow eu uso assim:
form1 := Tform1.Create(opcaoescolhida);
try
form1.showmodal;
finally
form1.release;
form1 := nil;
end;
form1 := Tform1.Create(opcaoescolhida);
try
form1.showmodal;
finally
form1.release;
form1 := nil;
end;
GOSTEI 0