Fórum Erro ao fechar aplicação no delphi #531992
17/09/2015
0
Bom dia, alguém poderia em ajudar
[img]http://arquivo.devmedia.com.br/forum/imagem/447550-20150917-085127.png[/img]
isso ocorre com o programa rodando e ao fazer o logout a tela de login retorna por cima do form principal, nessa tela de login eu tenho um botão sair, o erro surge ao clicar nesse botão nesse momento da execução.
[img]http://arquivo.devmedia.com.br/forum/imagem/447550-20150917-085127.png[/img]
isso ocorre com o programa rodando e ao fazer o logout a tela de login retorna por cima do form principal, nessa tela de login eu tenho um botão sair, o erro surge ao clicar nesse botão nesse momento da execução.
Emanuel Gonçalves
Curtir tópico
+ 0
Responder
Posts
17/09/2015
Emanuel Gonçalves
problema resolvido
no logout do form principal eu fiz
procedure TForm_Principal.Logout1Click(Sender: TObject);
var retorno: TModalResult;
begin// abre o form login
FrmLogin:=TFrmLogin.Create(nil);
retorno:= frmLogin.ShowModal;
FrmLogin.Free;
if retorno = mrCancel then
close;
end;
no botão sair do form login
procedure TFrmLogin.BtnSairClick(Sender: TObject);
begin
ModalResult:= mrCancel;
end;
e no botão entrar do form login inclui modalresult := mrok
procedure TFrmLogin.BtnEntrarClick(Sender: TObject);
begin
FBQuery_Login.Open;
if ((FBQuery_Login.Locate('login', edtUsuario.Text, [])) and (FBQuery_Login.Locate('senha', edtSenha.Text, []))) then
begin
GuardaLogin:= EdtUsuario.Text;
FDQuery_Logado.Insert;
FDQuery_LogadoCOD_USUARIO.Value:= FBQuery_LoginCODIGO.Value;
FDQuery_LogadoSUCESSO.Value:= 'SIM';
FDQuery_Logado.Post;
FBQuery_Login.Close();
>>>>> ModalResult:= mrOk; <<<<<<<<<<<<
end
else
if (edtUsuario.Text = '') or (edtSenha.Text= '') then
begin
ShowMessage('Campo de usuário ou senha vazio !');
edtUsuario.SetFocus;
end
else
begin
ShowMessage('Usuario ou senha inválido!');
GuardaLogin:= EdtUsuario.Text;
FDQuery_Logado.Insert;
FDQuery_LogadoSUCESSO.Value:= 'NÃO';
FDQuery_LogadoCOD_USUARIO.Value:= FBQuery_LoginCODIGO.Value;
FDQuery_Logado.Post;
edtUsuario.Clear;
edtSenha.Clear;
end;
end;
no logout do form principal eu fiz
procedure TForm_Principal.Logout1Click(Sender: TObject);
var retorno: TModalResult;
begin// abre o form login
FrmLogin:=TFrmLogin.Create(nil);
retorno:= frmLogin.ShowModal;
FrmLogin.Free;
if retorno = mrCancel then
close;
end;
no botão sair do form login
procedure TFrmLogin.BtnSairClick(Sender: TObject);
begin
ModalResult:= mrCancel;
end;
e no botão entrar do form login inclui modalresult := mrok
procedure TFrmLogin.BtnEntrarClick(Sender: TObject);
begin
FBQuery_Login.Open;
if ((FBQuery_Login.Locate('login', edtUsuario.Text, [])) and (FBQuery_Login.Locate('senha', edtSenha.Text, []))) then
begin
GuardaLogin:= EdtUsuario.Text;
FDQuery_Logado.Insert;
FDQuery_LogadoCOD_USUARIO.Value:= FBQuery_LoginCODIGO.Value;
FDQuery_LogadoSUCESSO.Value:= 'SIM';
FDQuery_Logado.Post;
FBQuery_Login.Close();
>>>>> ModalResult:= mrOk; <<<<<<<<<<<<
end
else
if (edtUsuario.Text = '') or (edtSenha.Text= '') then
begin
ShowMessage('Campo de usuário ou senha vazio !');
edtUsuario.SetFocus;
end
else
begin
ShowMessage('Usuario ou senha inválido!');
GuardaLogin:= EdtUsuario.Text;
FDQuery_Logado.Insert;
FDQuery_LogadoSUCESSO.Value:= 'NÃO';
FDQuery_LogadoCOD_USUARIO.Value:= FBQuery_LoginCODIGO.Value;
FDQuery_Logado.Post;
edtUsuario.Clear;
edtSenha.Clear;
end;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)