Duvidas com o ShowModal.
Tenho uma form principal com um menu que faz uma chamada para abrir uma outra form, ou seja :
procedure TForm2.Importar1Click(Sender: TObject);
begin
Form1.Importar;
Form1.ShowModal;
end;
o que acontece é que quando eu abro a form1.ShowModal ele não libera mais a primeira form enquanto eu não fechar a que foi chamada.
Existe uma outra forma de fazer a chamada sem ser pelo ShowModal ?
Obrigado e não sei se eu fui claro.
Valeu.
procedure TForm2.Importar1Click(Sender: TObject);
begin
Form1.Importar;
Form1.ShowModal;
end;
o que acontece é que quando eu abro a form1.ShowModal ele não libera mais a primeira form enquanto eu não fechar a que foi chamada.
Existe uma outra forma de fazer a chamada sem ser pelo ShowModal ?
Obrigado e não sei se eu fui claro.
Valeu.
Acardoso
Curtidas 0
Respostas
Marcelo Saviski
02/09/2003
Quando você usa o [color=green:9d5cd91baa]form.ShowModal;[/color:9d5cd91baa]todo o cófigo que está depois disso, ´fica esperando´, até que você feche esse form, ou seja, o restante do código só é executado quando você volta daquele formulário, a saida seria chamar o form com o [color=green:9d5cd91baa]show [/color:9d5cd91baa]normal mesmo
Form.Show;
GOSTEI 0
Macario
02/09/2003
[quote:fcfcbdb34a=´Marcelo Saviski´]Quando você usa o [color=green:fcfcbdb34a]form.ShowModal;[/color:fcfcbdb34a]todo o cófigo que está depois disso, ´fica esperando´, até que você feche esse form, ou seja, o restante do código só é executado quando você volta daquele formulário, a saida seria chamar o form com o [color=green:fcfcbdb34a]show [/color:fcfcbdb34a]normal mesmo
[/quote:fcfcbdb34a]
Só complementando o que o nosso colega acardoso falou, vc deve tomar cuidado ao chamar um form usando ´Show´ ai vc me pergunta porque?
veja se vc usar ´show´ o form principal ficara livre e vc podera usar qualquer evento nele disponivel inclusive clicar novamente no botão ´importar´ que chamara um outro form, sendo assim vc tera dois forms na memoria, por isso deve tormar cuidado quando usar show
uma opção seria esta
ou vc usa Self ou application nao me lembro ao certo
Form1:= TForm1.Create(Self);//aqui cria o form
try// tenta
Form1.Show;//aqui chama o form
finally//quando for fechado
Form1.Free// libera da memoria
Form.Show;
Só complementando o que o nosso colega acardoso falou, vc deve tomar cuidado ao chamar um form usando ´Show´ ai vc me pergunta porque?
veja se vc usar ´show´ o form principal ficara livre e vc podera usar qualquer evento nele disponivel inclusive clicar novamente no botão ´importar´ que chamara um outro form, sendo assim vc tera dois forms na memoria, por isso deve tormar cuidado quando usar show
uma opção seria esta
ou vc usa Self ou application nao me lembro ao certo
Form1:= TForm1.Create(Self);//aqui cria o form
try// tenta
Form1.Show;//aqui chama o form
finally//quando for fechado
Form1.Free// libera da memoria
GOSTEI 0
Macario
02/09/2003
Uma correção vc deve usar application
Form2:= TForm2.Create(Application);
try
Form2.Show;
finally
Form2.Free
end
Form2:= TForm2.Create(Application);
try
Form2.Show;
finally
Form2.Free
end
GOSTEI 0