GARANTIR DESCONTO

Fórum Saber se um Form MDI esta aberto #585129

22/08/2017

0

Ola eu uso windows 10 e delphi berlim, meu sistema é baseado em MDI form, gostaria de sabe como faço para identificar de um form MDI child esta aberto.

Eu uso a seguinte procedure para abrir um form:
procedure AbreForm(aClasseForm: TComponentClass; aForm: TForm);
begin
Application.CreateForm(aClasseForm, aForm);
TForm(aForm).Show;
end;

obrigado.
Wilton Júnior

Wilton Júnior

Responder

Post mais votado

22/08/2017

Para este código funcionar:
If (aForm = nil) then
{Código }
end;

Você precisa setar nil ao form ao fechar, exemplo:
form1.Destroy; 
form1:=Nil; ;

Natanael Ferreira

Natanael Ferreira
Responder

Gostei + 1

Mais Posts

22/08/2017

Luiz Vichiatto

Responder

Gostei + 0

22/08/2017

Wilton Júnior

eu já tentei isso

if FrmProduto <> nil then
showmessage(aberto);

tentei aaté assigned

Eu preciso saber se o forma esta aberto.
Responder

Gostei + 0

22/08/2017

Luiz Vichiatto

Este é o trecho de código que funciona planamente no sistema que tenho em mãos, detalhe é que sempre inicio
		if frmMain = nil then
		begin
			frmMain := TfrmMain.Create(self);
			frmMain.WindowState := wsMaximized;
			frmMain.Showmodal;
		end


outro trecho que também é significativo no sistema

      if qrlfBloquetos <> nil then
         with qrlfBloquetos do
         begin
            qryNotasBloqueto.Active := false;
            qryBloqueto.Active      := false;
            tbBanco.Active          := false;
            tbLoja.Active           := false;
         end;
      FreeAndNil( qrlfBloquetos );
Responder

Gostei + 0

22/08/2017

Luiz Vichiatto

Acho que é este ActiveMDIChild, mas não sei como utilizar, que não utilizo este método. Veja se ajuda este código
for n:=0 to (MainForm.MDIChildCount-1)
begin
  If MainForm.MDIChildren[n].Active then
  begin
    // do your thing here
  end;
end;
Responder

Gostei + 0

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

Aceitar