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

Delphi

06/08/2004

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.


Wart

Wart

Curtidas 0

Respostas

Bon Jovi

Bon Jovi

06/08/2004

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;



GOSTEI 0
Wart

Wart

06/08/2004

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


GOSTEI 0
POSTAR