Chamar Tela de Login em Formulario MDI Form

25/02/2010

5

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?
Responder

Post mais votado

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)
Responder

Mais Posts

25/02/2010

Alan Souza

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

Responder
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.
Responder

25/02/2010

Thiago Santana

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

Responder
Galera vou tentar fazer as dicas, logo mais posto aqui novamene no Forum. Até.
Responder

25/02/2010

Euclides Cunha

Para criar um form login, em formularios MDI, altere a propriedade de form login para ( Form->FormStyle->sStayOnTop )
Responder
Obrigada euclides, vou tentar.
Responder

27/02/2010

Mazin

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
Responder
Eu já fiz essas tentativas e nada, Mazin vou fazer a tua dica, e logo mais coloco aqui como ficou.
até mais.
Responder