GARANTIR DESCONTO

Fórum Logoff - Verificar janelas ativas e fechá-las. #289645

27/07/2005

0

Pesquisei e não achei nada parecido com o que pretendo fazer.

Como eu poderia verificar todas as janelas que estão abertas(ativas) num programa e fechá-las e abrir o formulario de login.

MAS sem fechar todo o sistema e abrir de novo...

Desde já agradeço pela atenção....

Diego

[color=green:f2fbe92afd]Título editado por gandalf.nho. Favor não postar em maiúsculas[/color:f2fbe92afd]


Diegus

Diegus

Responder

Posts

27/07/2005

Tremonti

Tenta isso cara...

procedure TfrmPrincipal.FecharForms(const FormLivre: array of TForm);
var
vC, vX : integer;
vFech : Boolean;
begin
for vC := Screen.FormCount-1 DownTo 0 do
Begin
vFech := True;
for vX := Low(FormLivre) to High(FormLivre)do
if Screen.Forms[vC] = FormLivre[vX] then
vFech := False;
if vFech then
if Screen.Forms[vC].Showing then
begin
Screen.Forms[vC].Visible := False; //Rotina para deixar Invisivel
Screen.Forms[vC].Close;
Screen.Forms[vC].Action.Free; // Rotina para Limpar da memória
end;//IF
end;//For vC
end;


Responder

Gostei + 0

27/07/2005

Diegus

Tenta isso cara... procedure TfrmPrincipal.FecharForms(const FormLivre: array of TForm); var vC, vX : integer; vFech : Boolean; begin for vC := Screen.FormCount-1 DownTo 0 do Begin vFech := True; for vX := Low(FormLivre) to High(FormLivre)do if Screen.Forms[vC] = FormLivre[vX] then vFech := False; if vFech then if Screen.Forms[vC].Showing then begin Screen.Forms[vC].Visible := False; //Rotina para deixar Invisivel Screen.Forms[vC].Close; Screen.Forms[vC].Action.Free; // Rotina para Limpar da memória end;//IF end;//For vC end;


Quando eu clicar no Botão LOGOFF... como eu devo chamar este procedimento? :D

Valeu amigo pela atenção..


Responder

Gostei + 0

27/07/2005

Tremonti

Informe os forms que vc quer que nao feche


Exemplo

FecharForms([form1, form2]);


Pronto!!!


Responder

Gostei + 0

27/07/2005

Titanius

Se for MDI, tente
procedure TFrmPrincipal.CloseAll;
var
 I: Integer;
begin
 for I := MDIChildCount - 1 downto 0 do
  MDIChildren[I].Close;
end;



[]s


Responder

Gostei + 0

02/08/2005

Diegus

Informe os forms que vc quer que nao feche Exemplo FecharForms([form1, form2]); Pronto!!!


Eu fiz um teste... adicionei 4 formulários... criei primeiramente o form2 (abrir sozin), com um botão chamando todos os outros forms... adicionei a procedure que vc me falou. Tem tb um botão chamando a rotina que vc me passou... FecharForms ([FecharForms([form1]). Mas quando clico no botão no form1 fecham todas as janelas e finaliza o programa... q q fiz de errado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar