Array
(
)

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

Wart
   - 06 ago 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.


Bon Jovi
   - 06 ago 2004

Eu por exemplo faço assim:
#Código

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;



Wart
   - 07 ago 2004

AE Bon Jovi, brigadão de novo hem cara! :D