Ir para conteúdo
Fórum Script Brasil
  • 0

Tela De Login


Pirambu!

Pergunta

Estou novamente aqui com outro problema :rolleyes:.

Criei um projeto todo em MDI, e estar quase pronto, mas tenho que criar um tela de login, agora não sei com fazer a tela de login funcionar antes do FormPrincipal sem dar problema.

Alguém sabe como resolver isso?

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
Estou novamente aqui com outro problema :rolleyes:.

Criei um projeto todo em MDI, e estar quase pronto, mas tenho que criar um tela de login, agora não sei com fazer a tela de login funcionar antes do FormPrincipal sem dar problema.

Alguém sabe como resolver isso?

Pirambu! , veja se você consegue dar uma partida como esta dica do colega Arlon.

É apenas um dos métodos, e você deve observar que o form de login deve ser o primeiro a ser mostrado e que ele cria e chama o form principal.

Tem outros formas de utilizar este recurso, mas agora estou meio sem tempo e local adequado para catar meus exemplos procurando por um. Se você não conseguir chegar a algum lugar com a dica acima, dá um retorno.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Churc, é um assunto ótimo, mas o que eu preciso é o seguinte, um sistema que foi feito em MDI e ao terminar eu criei um tela de login, mas quando eu mando criar antes do form principal, abre a tela do login normal faço o acesso e tudo, mas no form principal quando tento acessar qualquer tela do menu,da erro em todas as telas, eu fiz uma tentativa assim, mas também não funcionou,

{$R *.res}

begin

  FormSplash := TFormSplash.Create(application);
  FormSplash.Show;
  FormSplash.Update;
  Application.Initialize;
  Application.CreateForm(TFMENU, FMENU);
  Application.CreateForm(TFLOGIN, FLOGIN);
  Application.CreateForm(TDADOS, DADOS);
  FormSplash.Hide;
   FormSplash.Free;
  Application.Run;
end.

:unsure:

Link para o comentário
Compartilhar em outros sites

  • 0

Opa

Bom na verdade você deveria ter agradecido ao Micheus, eu apenas corrigi o post dele

aauhasahushu

De qualquer forma, veja só, quando você cria forms a partir do Application.CreateForm

o programa vai assumir como Form principal o primeiro form a ser criado através dele,

ou seja, na inicialização do seu programa, você cria 3 Forms assim

FMenu, FLogin e FDados

Neste caso, FMenu passa a ser o Form principal da aplicação, e creio que este menu que

você fala é um MainMenu certo, e como você está chamando os outros Forms neste MainMenu?

Pergunto porque se estes não foram criados na inicialização do aplicativo, então você tem

que criá-los em tempo de execução, igual você faz com a tela de apresentação...

Não seria este o problema?

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Correto Churc.

Pirambu!, seguindo o que o Churc colocou (a ordem de criação define quem é o form principal) você deveria fazer algo mais ou menos assim:

{$R *.res}

begin
  Application.Initialize;
  FormSplash := TFormSplash.Create(application);
  FormSplash.Show;
  FormSplash.Update;
  Application.CreateForm(TFLOGIN, FLOGIN);
  FormSplash.Free;
  if FLOGIN.ShowModal = mrOk then
  begin
    Application.CreateForm(TFMENU, FMENU);
    Application.CreateForm(TDADOS, DADOS);
    Application.Run;
  end else
    Application.Terminate;
end.

Talvez não esteja 100% correto (fiz aqui no editor mesmo).

Observando que na validação do FLogin (talvez um botão de OK), quando o usuário for válido você deve retornar com ModalResult := mrOk; Já se não for válido e você permitir que o usuário continue tentando, você simplesmente não faz nada (apenas move o foco para o edit), mas se não for permitir as tentativas basta chamar Close - com isso modalResult estará retornando com mrNone que não será a condição esperada para a entrada na tela principal.

Coloquei o Application.Initialize no início porque você cria o FormSplash passando Application, ok?! Voce poderia até passar Nil nesta situação.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Tentei todas as opições no último post, mas não deu certo ainda, não faço ideia do que possa ser, estar dando a seguinte mensagem

Cannot creat form. mdi forms are currently active;
Pirambu!, na criação de qual form está ocorrendo esta mensagem. Talvez seja necessário você destruir o FLOGIN após seu uso, antes de criar os forms com propriedades MDI (é só um palpite :huh: ):
...
  if FLOGIN.ShowModal = mrOk then
  begin
    FLOGIN.Free;
    Application.CreateForm(TFMENU, FMENU);
...

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Micheus, estou insertindo no assunto porquer falta apenas isso para o trabalho ficar concluído, então venho dizer que não deu certo ainda, vou lhe dar mais informações:

eu tentei assim:

begin
  Application.Initialize;
  FormSplash := TFormSplash.Create(application);
  FormSplash.Show;
  FormSplash.Update;
  Application.CreateForm(TFLOGIN, FLOGIN);
  FormSplash.Free;
  if FLOGIN.ShowModal = mrOk then
  begin
    Application.CreateForm(TFMENU, FMENU);
    Application.CreateForm(TDADOS, DADOS);
    Application.Run;
  end else
    Application.Terminate;
end.
mas nem compilou deu erro nesse trecho " mrOk " e também tentei assim:
begin
  Application.Initialize;
  FormSplash := TFormSplash.Create(application);
  FormSplash.Show;
  FormSplash.Update;
  Application.CreateForm(TFLOGIN, FLOGIN);
  FormSplash.Free;
  if FLOGIN.ShowModal = 1 then
  begin
   Flogin.Free;  
    Application.CreateForm(TFMENU, FMENU);
    Application.CreateForm(TDADOS, DADOS);
    Application.Run;
  end else
    Application.Terminate;
end.
Até Compilou mas ao execultar aparece a seguinte mensage:
Cannot Make a Visible Window modal

Esperelo ter falicitado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...