MDI Form - Verificar se ja esta ativo

07/02/2006

Bom dia Pessoal

EU gostaria de saber como posso fazer para verificar se o meu fomulário ja esta aberto e caso ele esteja abero que o sistema o coloque como janela ativa novamente.

Atualmente estou usando um esquema de MDI Form e quando eu clique por ventura duas ou trez vezes no local em que crio o form ele simplismente recria o form e eu não quero que ele faça isso

abaixo o código de acesso do form

  Application.CreateForm(TFrmEstacoes, FrmEstacoes);
    FrmEstacoes.Show;


eu tentei colocar como SHOWMODAL, porém creio que MDI não da suporte.

Bom fico no aguardo de um help


Desde de ja agradeço

Wagner


Wagnermarrane

Respostas

07/02/2006

Martins

tente fazer assim:


if Formx = nil then
begin
  Formx := TFormx.Create(Nil);
  Formx.Show;
end
else
  ShowMessage(´O form já está instanciado...´);
  Formx.Show;


No OnDestroy do Formx coloque

Formx := Nil;


Boa sorte!!!


Responder Citar

07/02/2006

Paullsoftware

tenho uma função que pode te ajudar bastante!
// Verifica se o form a ser criado já esta carregado
function FormExiste(aberto: Tform): Boolean;
var
I:Integer;
begin
    FormExiste := false;
    for I := 0 to Screen.FormCount -1 do
    if Screen.Forms[i&93; = aberto then
    begin
    FormExiste := true;
    Break;
    end
end;

[b:709b302e90]modo de usar[/b:709b302e90]
if Not FormExiste( fMostraRecados ) then
begin
fMostraRecados := TfMostraRecados.Create(Self);
fMostraRecados.BringToFront;
fMostraRecados.Focused;
end
else
begin
fMostraRecados.BringToFront;
fMostraRecados.Focused;
end;
onde fMostraRecados é o nome do form a ser verificado


Responder Citar