Manter somente uma instância do form aberta na aplicação

06/08/2004

1

Fala galera,
Eu estou desenvolvendo a minha aplicação em MDI e não gostaria de que os meus formulários fossem modais. Eu queria saber se alguem tem alguma sugestão para que somente uma instância de determinado formulãrio seja criada dentro da aplicação?

Obrigado.


Responder

Posts

06/08/2004

Bon Jovi

Eu por exemplo faço assim:
function TfrmPrincipal.JanelaAberta(NomeClasse: String): boolean;
var
  i: integer;
begin
  Result := False;
  for i := 0 to Self.MDIChildCount - 1 do
  begin
    if Self.MDIChildren[i].ClassName = NomeClasse then
    begin
      Result := Self.MDIChildren[i].Visible;
      if Result then
        Self.MDIChildren[i].BringToFront;
      Break;
    end;
  end;
end;

procedure TfrmPrincipal.mnuCadastroUsuarioClick(Sender: TObject);
begin
  if not JanelaAberta(TfrmCadastroUsuario.ClassName) then
    TfrmCadastroUsuario.Create(Self);
end;



Responder

07/08/2004

Wart

AE [b:e05194f9b6]Bon Jovi[/b:e05194f9b6], brigadão de novo hem cara! :D


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira