Chamar Tela de Login em Formulario MDI Form

Delphi

25/02/2010

Oi pessoal, eu estou fazendo um sistema com formulários MDI, e gostaria de saber se vocês poderiam me ajudar tirando uma dúvida...

Quando eu vou acessar o sistema, eu chamo a tela de login antes de aparecer o Form MDI principal, ele so me aparece quando eu logo, até ai tudo bem, mas quando eu chamo os formulários MDI Child, me ocorre um erro, dizendo que o formulário não está sendo criado da maneira correta.

Alguém poderia me ajudar?
Angelica Soares

Angelica Soares

Curtidas 0

Melhor post

Alan Souza

Alan Souza

25/02/2010

eu costumo criar assim, vê se dá certo no seu caso:

if not Assigned(frmClientes) then
   Application.CreateForm(TfrmClientes,frmClientes);
frmClientes.Show;

lembrando que nesse caso os formulários MDI não podem ser Auto-Create no projeto (Menu Project|Options|aba Forms)
GOSTEI 1

Mais Respostas

Alan Souza

Alan Souza

25/02/2010

como você está fazendo a chamada aos forms MDI Child?
Dê algum exemplo de preferência

GOSTEI 0
Angelica Soares

Angelica Soares

25/02/2010

Eu tenho disponibilizado no formulário principal, um menu que eu chamo os formulários.
E ao chamá - los eu faço:

Ex.:

Frmclientes:= TFrmclientes.Create(Self);
Frmclientes.show;

Lembrando que o formulário está como MDI Child, visible = true.
GOSTEI 0
Thiago Santana

Thiago Santana

25/02/2010

Amigo tente chamar seus formulários assim:   Nomedoformulario := TNomedoformulário.Create(Self);
Nomedoformulario.Showmodal;
Nomedoformulario.Free;   Isto deveresolver teu problema! Espero ter ajudado...

GOSTEI 0
Angelica Soares

Angelica Soares

25/02/2010

Galera vou tentar fazer as dicas, logo mais posto aqui novamene no Forum. Até.
GOSTEI 0
Euclides Cunha

Euclides Cunha

25/02/2010

Para criar um form login, em formularios MDI, altere a propriedade de form login para ( Form->FormStyle->sStayOnTop )
GOSTEI 1
Angelica Soares

Angelica Soares

25/02/2010

Obrigada euclides, vou tentar.
GOSTEI 0
Mazin

Mazin

25/02/2010

faz como abaixo:

program Project2;

uses
  Forms,
  Controls,
  Unit1 in 'Unit1.pas' ,
  Unit2 in 'Unit2.pas' ;

{$R *.res}

begin
  FrmLogin := TFrmLogin.Create(Application);
  try
    if FrmLogin.ShowModal = mrOk then
    begin
      Application.Initialize;
      Application.CreateForm(TFrmPrincipal, FrmPrincipal);
  Application.Run;
    end;
  finally
    FrmLogin.Free;
  end;
end.

e no botão login usa:

ModalResult := mrOk;

caso os dados forem informados corretamente
GOSTEI 0
Angelica Soares

Angelica Soares

25/02/2010

Eu já fiz essas tentativas e nada, Mazin vou fazer a tua dica, e logo mais coloco aqui como ficou.
até mais.
GOSTEI 0
POSTAR