Fórum Diferenças no modo de criar form #327297
11/08/2006
0
Application.CreateForm(TForm1, Form1)
esta é a forma padão através do qual o delphi cria seus forms automaticamente.
porém durante o digitação de código, o modo mais utilizado para instanciar um objeto é
Form1 := TForm1.Create(Form1)
existe alguma diferença estre as duas metodologias?
a principal razão da minha pergunta é se posso fazer o seguinte:
quero tornar um form dependente de um outro no sentido de que quando um for fechado o outro também o seja automaticamente.
então minha sugestão é utilizar o seguinte código:
Form2 := TForm1.Create(Form1)
posso fazer desta forma sem problemas?
Raserafim
Curtir tópico
+ 0
Responder
Posts
11/08/2006
Marco Salles
porém durante o digitação de código, o modo mais utilizado para instanciar um objeto é
Código:
Form1 := TForm1.Create(Form1)
descuple mas esta forma não esta correta
Form1 := TForm1.Create(form1)
Pelo menos esta muito estranha....
Veja : voce esta fazendo com que o proprietário da instancia seje ele mesmo... Quer dizer : O proprietário de form1 é o próprio form1
Em outra palavras é como se o pai fosse o próprio Filho , ou se o filho fosse o próprio pai
[b:ed0a055940]Para ver na prática um erro , execute a rotina abaixo algumas vezes[/b:ed0a055940]
procedure TForm1.Button3Click(Sender: TObject); begin try form2:=Tform2.Create(form2); Form2.ShowModal; finally Form2.Release; end;
a principal razão da minha pergunta é se posso fazer o seguinte:
quero tornar um form dependente de um outro no sentido de que quando um for fechado o outro também o seja automaticamente.
então minha sugestão é utilizar o seguinte código:
Código:
Form2 := TForm1.Create(Form1)
posso fazer desta forma sem problemas?
Nesse sentido o proprietário do form2 é o form1.. Desse modo qndo form1 for destruido <destruir é diferente de fechar> o Form2 automaticamente o será
Porem o mesmo não se aplica ao form2.. Para tal , no evento onclose do form2 voce deve fechar o form1 na mão , isto é Form1.OnClose
Não esquecer de colocar no evento Onclose do Form1 Action:=Cafree;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)