Form Login na frente do principal...
Ola pessoal.
Gente qual a forma mais facíl de fazer com que meu form de login venha a frente do form principal da aplicação, vejam bem, eu coloco ele iniciando primeiro que o Principal ai uso este código para validar senha e login e fecha-lo para começar trabalhar:
Mas ai ele fecha toda minha aplicação, se coloco ele no evento OnActivate do Principal ele aparece sozinho, estou ficando sem solução, alguém me ajuda ai por favor.
Erivan
Gente qual a forma mais facíl de fazer com que meu form de login venha a frente do form principal da aplicação, vejam bem, eu coloco ele iniciando primeiro que o Principal ai uso este código para validar senha e login e fecha-lo para começar trabalhar:
procedure TFrm_Login.BtLoginClick(Sender: TObject);
begin
BtLogin.Tag := BtLogin.Tag + 1;
If Not Dmdados.IBqUsuario.Locate(´Login;Senha´,VarArrayOf([EdtLogin.Text,EdtSenha.Text]),[]) Then
Begin
MessageBox(0,´Nome e ou Senha não confere.´+#13+
´Favor Corrigir.´,´ATENÇÃO´,mb_Ok+Mb_IconStop );
EdtLogin.Clear;
EdtSenha.Clear;
EdtLogin.SetFocus;
end
else
begin
MessageDlg(´LOGIN CONFIRMADO!´,MTInformation,[MbOK],0);
Frm_Login.Close;
Frm_Principal.Show;
end;
IF BtLogin.Tag = 3 Then
Application.Terminate;
end;
Mas ai ele fecha toda minha aplicação, se coloco ele no evento OnActivate do Principal ele aparece sozinho, estou ficando sem solução, alguém me ajuda ai por favor.
Erivan
Peninha
Curtidas 0
Respostas
Paullsoftware
26/03/2006
quando você diz:
crie essa procedure:
no evento onShow do form Principal faça
Alguns detalhes...
crie uma variavel do boolean no seu form login
no OnCreate do form Login faço:
no OnCloseQuery do form login faço:
no botão de acesso (OK, Entrar, Acessar, ou sei lá o que) faço:
dê uma olhada nesse tópico
[url]http://forum.clubedelphi.net/viewtopic.php?t=74862&highlight=login[/url]
espero ter ajudado!
Mas ai ele fecha toda minha aplicação, se coloco ele no evento OnActivate do Principal ele aparece sozinho, estou ficando sem solução, alguém me ajuda ai por favor.
Erivan
para isso acontecer esse form deve estar como sendo o form principal de sua aplicação, vá em [b:3b3c744f4c]Project >> Options >> forms >> Main Form[/b:3b3c744f4c] coloque seu form principal, não pode ser o de login! o form login deve estar em [b:3b3c744f4c]Avaliable forms[/b:3b3c744f4c].crie essa procedure:
procedure ChamaForm(fClass:TFormClass; Form:TForm); begin try Application.CreateForm(fClass,Form); Form.ShowModal; Finally Form.Release; Form:=nil; end; end;
no evento onShow do form Principal faça
ChamaForm(TfLogin,fLogin);
Alguns detalhes...
crie uma variavel do boolean no seu form login
var fLogin: TfLogin; wFechar : boolean;//Isso para evitar que o usuário feche a tela de login
no OnCreate do form Login faço:
wFechar := False;
no OnCloseQuery do form login faço:
CanClose := wFechar
no botão de acesso (OK, Entrar, Acessar, ou sei lá o que) faço:
dê uma olhada nesse tópico
[url]http://forum.clubedelphi.net/viewtopic.php?t=74862&highlight=login[/url]
espero ter ajudado!
GOSTEI 0
Paulocesar1301
26/03/2006
Brow, podes trabalhar como uma splash (pelo menos é como faço aki):
Esse códifo eu coloco no Project:
Use uma variável global para testar se o login foi bem sucedido ou não:
Ans e Bons Códigos
Esse códifo eu coloco no Project:
begin Application.Initialize; Application.CreateForm(TSeuFormDeLofin, SeuFormDeLofin); SeuFormDeLofin.ShowModal; FreeAndNil(SeuFormDeLofin); If NOT(VarGlobalBooleana) Then Application.Terminate; Try Application.CreateForm(TFRMPrincipal, FRMPrincipal); Finally FRMPrincipal.Show; Application.Run; End;
Use uma variável global para testar se o login foi bem sucedido ou não:
If NOT(VarGlobalBooleana) Then Application.Terminate;
Ans e Bons Códigos
GOSTEI 0
Eniorm
26/03/2006
Eu faço assim, crio e dou showmodal no form de login no evento OnActivate do form principal.....
assim abre o form principal, e logo após, o form de login!!!!
falow
assim abre o form principal, e logo após, o form de login!!!!
falow
GOSTEI 0
Martins
26/03/2006
[quote:df15a3df21=´Enio Marconcini´]Eu faço assim, crio e dou showmodal no form de login no evento OnActivate do form principal.....
assim abre o form principal, e logo após, o form de login!!!!
falow[/quote:df15a3df21]
Muitos desenvolvedores fazem assim tb [b:df15a3df21]Enio[/b:df15a3df21], nesse caso devem tomar cuidado para não permitir q o form possa ser fechado com ALT+F4 tornando o formulário de login inútil, não vejam apenas pelo lado do desenvolvedor, imaginem q usuários são curiosos e sempre tentam dar uma de engraçadinhos.
Boa sorte! :wink:
assim abre o form principal, e logo após, o form de login!!!!
falow[/quote:df15a3df21]
Muitos desenvolvedores fazem assim tb [b:df15a3df21]Enio[/b:df15a3df21], nesse caso devem tomar cuidado para não permitir q o form possa ser fechado com ALT+F4 tornando o formulário de login inútil, não vejam apenas pelo lado do desenvolvedor, imaginem q usuários são curiosos e sempre tentam dar uma de engraçadinhos.
Boa sorte! :wink:
GOSTEI 0
Paullsoftware
26/03/2006
[quote:178cbb9364=´Enio Marconcini´]Eu faço assim, crio e dou showmodal no form de login no evento OnActivate do form principal.....
assim abre o form principal, e logo após, o form de login!!!!
falow
Muitos desenvolvedores fazem assim tb [b:178cbb9364]Enio[/b:178cbb9364], nesse caso devem tomar cuidado para não permitir q o form possa ser fechado com ALT+F4 tornando o formulário de login inútil, não vejam apenas pelo lado do desenvolvedor, imaginem q usuários são curiosos e sempre tentam dar uma de engraçadinhos.
Boa sorte! :wink:[/quote:178cbb9364]
é isso ai, justamente como mostrei no meu post!
só um detalhe [b:178cbb9364]Enio[/b:178cbb9364]
Eu faço assim, crio e dou showmodal no form de login no evento OnActivate do form principal.....
assim abre o form principal, e logo após, o form de login!!!!
falow
quando usado no OnActivate do form, deve ter cuidado para não ficar pedinho o login toda hora...
pq ai quando o usuário minimizar e restaurar a aplicação vai voltar a pedia a senha...! :roll:
GOSTEI 0
Paulocesar1301
26/03/2006
É exatamente por isso que não uso o OnActivate do Principal... trato como uma splash e só crio o principal se o login resultar OK... assim evito problemase linhas de tratamento de ativação de tela desnecessários.
Bons Códigos :wink:
Bons Códigos :wink:
GOSTEI 0
Eniorm
26/03/2006
quando usado no OnActivate do form, deve ter cuidado para não ficar pedinho o login toda hora...
pq ai quando o usuário minimizar e restaurar a aplicação vai voltar a pedia a senha...! :roll:
estranho, testei isso mas não aconteceu de abrir novamente a tela de login....
minimizei, maximizei, restaurava, coloquei a aplicação em segunto plano e depois voltei a ela com Alt+Tab ou pelo barra de aplicativos, mas nada de estranho........... :shock:
GOSTEI 0
Martins
26/03/2006
[quote:8c803a4fe4=´Enio Marconcini´]
estranho, testei isso mas não aconteceu de abrir novamente a tela de login....
minimizei, maximizei, restaurava, coloquei a aplicação em segunto plano e depois voltei a ela com Alt+Tab ou pelo barra de aplicativos, mas nada de estranho........... :shock:[/quote:8c803a4fe4]
Penso q deve ter havido uma pequena confusão do colega entre os eventos [b:8c803a4fe4]OnPaint[/b:8c803a4fe4] e [b:8c803a4fe4]OnActive[/b:8c803a4fe4], se vc colocar no [b:8c803a4fe4]OnPaint,[/b:8c803a4fe4] com certeza vai ser incomodado pela tela de login.
Boa sorte!
quando usado no OnActivate do form, deve ter cuidado para não ficar pedinho o login toda hora...
pq ai quando o usuário minimizar e restaurar a aplicação vai voltar a pedia a senha...! :roll:
estranho, testei isso mas não aconteceu de abrir novamente a tela de login....
minimizei, maximizei, restaurava, coloquei a aplicação em segunto plano e depois voltei a ela com Alt+Tab ou pelo barra de aplicativos, mas nada de estranho........... :shock:[/quote:8c803a4fe4]
Penso q deve ter havido uma pequena confusão do colega entre os eventos [b:8c803a4fe4]OnPaint[/b:8c803a4fe4] e [b:8c803a4fe4]OnActive[/b:8c803a4fe4], se vc colocar no [b:8c803a4fe4]OnPaint,[/b:8c803a4fe4] com certeza vai ser incomodado pela tela de login.
Boa sorte!
GOSTEI 0