JonatasFn 0 Denunciar post Postado Setembro 24, 2009 Olá pessoal, parece ser uma dúvida besta (e é mesmo), mas é o seguinte eu tenho uma aplicação, e deixo o form de Login como Form Main. Aí ontem mexendo em um outro form, o form principal da aplicação, eu consegui estragar tudo. Agora quando mando executar a aplicação ele abre o form de Login normalmente, mas tbm abre o Form principal junto, e eu consigo usar o form principal sem fazer login. Minhas dúvidas são: 1- Onde eu mudei alguma coisa q eu fiz isto? 2- Existe algum problema em deixar o Form de Login como Form Main? []'s Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Setembro 24, 2009 Se os dois forms estão sendo criados juntos, vale a pena dar uma olhada no código do seu projeto, que é o .dpr ... provavelmente a ordem de criação dos forms lá pode estar meio zuada... quanto a sua questão, eu particularmente prefiro deixar o form de login separado do principal, pois o de login para mim só serve para validar o usuário no start da aplicação e para chamar a partir dele o principal. Posta o código do seu .dpr para análise se precisar de ajuda... experimente debugá-lo para ver passo a passo o que está acontecendo com o seu projeto e vai facilitar pra você localizar seu problema. []'s Compartilhar este post Link para o post Compartilhar em outros sites
JonatasFn 0 Denunciar post Postado Setembro 24, 2009 Cara, mas eu nem mudei nada lá. Tem um comentário q fiz em uma linha, mas isso já tá lá há muuuuuuuito tempo. Andei mexendo nas propriedades do form para vez como eu fazia para o form Principal minimizar na barra de tarefas e não na canto esquerdo da tela. Além de não conseguir fazer isto, bichei o form... Segue o código do projeto: program MGSUL; uses Forms, CadFuncionarios in 'CadFuncionarios.pas' {frmCadFuncionarios}, Principal in 'Principal.pas' {frmPrincipal}, CadCidades in 'CadCidades.pas' {frmParametros}, Login in 'Login.pas' {frmLogin}, ConsFuncionario in 'ConsFuncionario.pas' {frmConsFuncionarios}, RelAniversariantes in 'RelAniversariantes.pas' {frmRelAniversariantes}, DataModule in 'DataModule.pas' {DM: TDataModule}, AltSenha in 'AltSenha.pas' {frmAltSenha}, CadUsuario in 'CadUsuario.pas' {frmCadUsuario}, Aniversariantes in 'Aniversariantes.pas' {frmAniversariantes}, RelOnibus in 'RelOnibus.pas' {frmRelOnibus}, ParamRelSetor in 'ParamRelSetor.pas' {frmParamRelSetor}, RelSetor in 'RelSetor.pas' {frmRelSetor}, Advertencias in 'Advertencias.pas' {frmAdvertencias}, BuscFunc in 'BuscFunc.pas' {frmBuscaFunc}, RelAdvertencia in 'RelAdvertencia.pas' {frmRelAdvertencia}, Unit1 in 'Unit1.pas' {Form1}, CadastroHoras in 'CadastroHoras.pas' {frmCadastroHoras}, BuscaFuncHoras in 'BuscaFuncHoras.pas' {frmBuscaFuncHoras}, SplashScreen in 'SplashScreen.pas' {frmSplashScreen}, MesBase in 'MesBase.pas' {frmMesBase}; {$R *.res} begin Application.Initialize; Application.CreateForm(TfrmLogin, frmLogin); Application.CreateForm(TfrmMesBase, frmMesBase); Application.CreateForm(TfrmCadastroHoras, frmCadastroHoras); Application.CreateForm(TfrmCadFuncionarios, frmCadFuncionarios); Application.CreateForm(TForm1, Form1); Application.CreateForm(TfrmAdvertencias, frmAdvertencias); Application.CreateForm(TfrmPrincipal, frmPrincipal); Application.CreateForm(TfrmRelOnibus, frmRelOnibus); Application.CreateForm(TfrmAniversariantes, frmAniversariantes); Application.CreateForm(TfrmCadUsuario, frmCadUsuario); Application.CreateForm(TfrmConsFuncionarios, frmConsFuncionarios); Application.CreateForm(TfrmRelAniversariantes, frmRelAniversariantes); Application.CreateForm(TfrmParametros, frmParametros); Application.CreateForm(TDM, DM); Application.CreateForm(TfrmAltSenha, frmAltSenha); Application.CreateForm(TfrmParamRelSetor, frmParamRelSetor); Application.CreateForm(TfrmRelSetor, frmRelSetor); Application.CreateForm(TfrmBuscaFunc, frmBuscaFunc); Application.CreateForm(TfrmRelAdvertencia, frmRelAdvertencia); Application.CreateForm(TfrmBuscaFuncHoras, frmBuscaFuncHoras); //Application.CreateForm(TfrmSplashScreen, frmSplashScreen); Application.Run; end. Compartilhar este post Link para o post Compartilhar em outros sites
sunshine_M 0 Denunciar post Postado Setembro 24, 2009 vá no delphi.. em project->Options->Forms no auto-create forms ache FrmPrincipal e dê dois click. dá ok e rode.. Compartilhar este post Link para o post Compartilhar em outros sites
JonatasFn 0 Denunciar post Postado Setembro 24, 2009 vá no delphi.. em project->Options->Forms no auto-create forms ache FrmPrincipal e dê dois click. dá ok e rode.. Cara, mas deste jeito eu não crio o form principal. E eu preciso dele... Ah... e uma coisa q reparei agora. Acho q o form principal tbm está como Main, pois se eu fechá-lo eu encerro a aplicação. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Setembro 24, 2009 Fosse meu projeto, eu faria o seguinte... program MGSUL; uses Forms, CadFuncionarios in 'CadFuncionarios.pas' {frmCadFuncionarios}, Principal in 'Principal.pas' {frmPrincipal}, CadCidades in 'CadCidades.pas' {frmParametros}, Login in 'Login.pas' {frmLogin}, ConsFuncionario in 'ConsFuncionario.pas' {frmConsFuncionarios}, RelAniversariantes in 'RelAniversariantes.pas' {frmRelAniversariantes}, DataModule in 'DataModule.pas' {DM: TDataModule}, AltSenha in 'AltSenha.pas' {frmAltSenha}, CadUsuario in 'CadUsuario.pas' {frmCadUsuario}, Aniversariantes in 'Aniversariantes.pas' {frmAniversariantes}, RelOnibus in 'RelOnibus.pas' {frmRelOnibus}, ParamRelSetor in 'ParamRelSetor.pas' {frmParamRelSetor}, RelSetor in 'RelSetor.pas' {frmRelSetor}, Advertencias in 'Advertencias.pas' {frmAdvertencias}, BuscFunc in 'BuscFunc.pas' {frmBuscaFunc}, RelAdvertencia in 'RelAdvertencia.pas' {frmRelAdvertencia}, Unit1 in 'Unit1.pas' {Form1}, CadastroHoras in 'CadastroHoras.pas' {frmCadastroHoras}, BuscaFuncHoras in 'BuscaFuncHoras.pas' {frmBuscaFuncHoras}, SplashScreen in 'SplashScreen.pas' {frmSplashScreen}, MesBase in 'MesBase.pas' {frmMesBase}; {$R *.res} begin Application.Initialize; Application.CreateForm(TDM, DM); Application.CreateForm(TfrmLogin, frmLogin); Application.Run; end. Forçaria o programa a criar apenas o DataModule e o form de login... e pelo form de login eu daria o create no form principal da minha aplicação SE o login fosse válido, senão finalizaria o programa... para criar o form, poderia usar algo do tipo.... if login = true then begin try FormPrincipal := TFormPrincipal.Create(Self); FormLogin.Visible := False; FormPrincipal.ShowModal; finally FreeAndNil(FormLogin); end; end; []'s Compartilhar este post Link para o post Compartilhar em outros sites
JonatasFn 0 Denunciar post Postado Setembro 24, 2009 Cara, mas eu não queria mudar o q já estava funcionando legalzinho... Se eu conseguisse descobrir o q está causando isto. Posso trocar o Form Main, pra qualquer outro form q o form principal aparece junto. As propriedades do meu form estão assim: BorderStyle : bsSizeable DefaultMonitor: dmActiveForm FormStyle: fsNormal etc... Acho q foi depois q mudei o DefaultMonitor q começou a acontecer isto. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Setembro 24, 2009 Amigo... Da forma que sugeri, você apenas deixaria de criar todos os seus forms no create do programa e passaria a criá-los quando realmente houvesse necessidade... em todo caso, você pode tentar o seguinte: deixe seu form principal com visible false e só o torne visível depois que logar no sistema pelo seu login.... mas eu deixo registrado que eu não recomendo esta prática e muito menos a uso... só sugiro isto porque no trampo agora não estou mais usando Delphi e não tenho como verificar se há alguma configuração que possa ajudar a contornar o problema... Ainda sou mais de usar a idéia que sugeri antes desta. []'s Compartilhar este post Link para o post Compartilhar em outros sites
JonatasFn 0 Denunciar post Postado Setembro 25, 2009 Alguém sabe de alguma propriedade que eu possa ter alterado que tenha acarretado neste problema? Compartilhar este post Link para o post Compartilhar em outros sites
Raficcha 1 Denunciar post Postado Setembro 25, 2009 http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Cara, eu não sei se isso ajuda, mas eu criei um componente de login, para não ter que ficar criando o form de login e tals. Para usar é bem Simpes, no evento onCreate do form principal você colocaria assim: ROBJLogin1.addLogin('Usuario1', 'Senha1'); ROBJLogin1.addLogin('Usuario2', 'Senha2'); ROBJLogin1.addLogin('Usuario3', 'Senha3'); ROBJLogin1.addLogin('Usuario4', 'Senha4'); {e quantos logins a mais que poderão ser aceitos} ROBJLogin1.execute; Se o cara errar o login, fechar a janela, ou cancelar, a aplicação é finalizada. Se você se interessar: tonello.rafinha@gmail.com (pode ficar tranquilo que eu não cobro nada.. : D) ele faz parte de uma paleta de componentes que eu estou criando Compartilhar este post Link para o post Compartilhar em outros sites