Application.CreateForm(TForm, Form) ou Form := TForm.Create(Application)
22/10/2018
0
De acordo com o tópico, qual seria a diferença entre "Application.CreateForm(TForm, Form)" ou "Form := TForm.Create(Application)"?
Eu sei q tem diferenças entre:
TForm.Create(nil),
TForm.Create(self) e;
TForm.Create(Application)
Mas entre os citados no tópico, tem?
Eu sei q tem diferenças entre:
TForm.Create(nil),
TForm.Create(self) e;
TForm.Create(Application)
Mas entre os citados no tópico, tem?
Fernando Duardes
Curtir tópico
+ 0
Responder
Posts
23/10/2018
Emerson Nascimento
Da forma como apresentado não há diferença:
Application.CreateForm(TForm, Form) - cria um formulário, da classe TForm, associado à variável Form, cujo owner será o objeto Application.
Form := TForm.Create(Application) - cria um formulário, da classe TForm, associado à variável Form, cujo owner será o objeto Application.
usa-se TForm.Create() quando você quer indicar o owner do form. Se não precisa indicar o owner ou o mesmo pode ser Application, pode usar sempre Application.CreateForm().
Se você utilizar Application e não destruir o form manualmente, ele será destruído somente quando sair da aplicação, o que pode ocasionar memory leak ou apenas causar lentidão, por conta de manter em memória algo que não é mais utilizado.
Application.CreateForm(TForm, Form) - cria um formulário, da classe TForm, associado à variável Form, cujo owner será o objeto Application.
Form := TForm.Create(Application) - cria um formulário, da classe TForm, associado à variável Form, cujo owner será o objeto Application.
usa-se TForm.Create() quando você quer indicar o owner do form. Se não precisa indicar o owner ou o mesmo pode ser Application, pode usar sempre Application.CreateForm().
Se você utilizar Application e não destruir o form manualmente, ele será destruído somente quando sair da aplicação, o que pode ocasionar memory leak ou apenas causar lentidão, por conta de manter em memória algo que não é mais utilizado.
Responder
Clique aqui para fazer login e interagir na Comunidade :)