Forms abertos dentro de outros

Delphi

08/10/2004

Olá! O form principal do meu programa chama o form de cadastro de clientes. Dentro desse cadastro de clientes o programa pode abrir várias outras telas auxiliares só que eu uso ShowModal em todas as telas para que o usuário necessariamente tenha que mexer em somente uma tela por vez.

O problema é o seguinte: no form principal tem um timer que caso várias condições sejam satisfeitas ele tem que fechar a tela de cadastro de clientes caso esteja aberta. Usei o seguinte:

   if frmcadcliente<>nil then frmcadcliente.Close;


Só que se o usuário estiver com uma das telas auxiliares abertas o form não é fechado. Como posso resolver isso? Vou ter que fazer um

´If form nil then form.close´ para todos os possíveis forms que a tela pode abrir?

Desde já agradeço!!!


Delphi32

Delphi32

Curtidas 0

Respostas

Delphi32

Delphi32

08/10/2004

aew, resolvi da seguinte maneira:

begin
   if frmclientes<>nil then
   begin
      while Screen.ActiveForm.Name<>´frmclientes´ do Screen.ActiveForm.Close;
      //
      frmclientes.Close;
   end;
end;


Interessante notar que mesmo se o usuário estiver com uma MessageDlg ou ShowMessage aberto o código funciona. Resta saber se funciona com Application.MessageBox. Ainda vou fazer esse teste...

valeu! t+!


GOSTEI 0
POSTAR