GARANTIR DESCONTO

Fórum DbEdit Evento OnExit nao funciona #356080

27/03/2008

0

Alguem ja teve o problema no envento OnExit do componente DbEdit???
O programa nao executa a rotina que estao dentro do evento.
Ja coloquei um break para analisar mais o programa passa direto sem entrar no onexit quando o compoente perde o foco.
Alguem saberia o porque???


Janbaceiredo

Janbaceiredo

Responder

Posts

27/03/2008

Marco Salles

Responda :

Ao compilar o delphi marca com ´[b:73e1ddf5d7]bolinhas azuis´ [/b:73e1ddf5d7]as instruções que estão dentro do OnExit ?????


Responder

Gostei + 0

27/03/2008

Janbaceiredo

Sim aparece... Quando eu marco elas para dar o F9 fica vermelha o point de verificacao...


Responder

Gostei + 0

27/03/2008

Marco Salles

Sim aparece... Quando eu marco elas para dar o F9 fica vermelha o point de verificacao...


Fica vermelho é uma coisa ... Marcar com as bolinhas Azuiz é Outra coisa

Quando compila ele marca com[u:724645c634][b:724645c634] bolinhas azuis [/b:724645c634][/u:724645c634]..


Responder

Gostei + 0

27/03/2008

Ara.es

Como fez para testar o evento?? alguns botoes nao recebem foco, portanto nao irao tirar o foco do Edit, com isso o evento onExit nao será disparado... veja se pode ser isso.


Responder

Gostei + 0

27/03/2008

Pestana_

completando o que o [i:7e1fb4895d]ara.es[/i:7e1fb4895d] disse. Os botões são TSpeedButton, TToolButton e ao executar o evento OnClick de um botão atravês de teclas de atalhos!

flw.


Responder

Gostei + 0

28/03/2008

Marco Salles

completando o que o ara.es e o pestana disse se for este o problema , voce deve [b:779369eab3]forçar a perda [/b:779369eab3]do foco no DbEdit , atraves de Codigos
Por exemplo o ActiveControl := nil ou o SelectNext ou o Focused de Outro componente.


Responder

Gostei + 0

28/03/2008

Janbaceiredo

Bom, quando aperto F9 o codigo do DBEdit fica com pequenas bolinhas azuis ao lado do codigo. Acredito que seja essas bolinhas que vc esta querendo saber, é isso????

Estou usando um tela de cliente com varios DBEdit coloquei no envento OnExit a rotina de verificacao de CNPJ e CPF.


Responder

Gostei + 0

28/03/2008

Pestana_

De uma olhada no artigo: [color=blue:176552ef62]cuidado ao usar o evento onExit I e II do dtDelphi28. [/color:176552ef62]

link para baixar o arquivo: [[color=blue:176552ef62][b:176552ef62] http://www.delphix.org/index.php?q=node/156[/b:176552ef62][/color:176552ef62] ]

espero ter ajudado.
flw.

flw.


Responder

Gostei + 0

28/03/2008

Janbaceiredo

Nao funcionou a dica do link enviado.
O problema é que o programa nao entra dentro do evento de nenhum OnExit do DBEdit.


Responder

Gostei + 0

28/03/2008

Pestana_

você fez como o nosso colega Marco Salles hávia postado e não resolveu?

voce deve forçar a perda do foco no DbEdit , atraves de Codigos Por exemplo o ActiveControl := nil ou o SelectNext ou o Focused de Outro componente.


flw.


Responder

Gostei + 0

28/03/2008

Ara.es

poste o seu codigo ai. Para que possamos verificar se tem algo diferente ou errado.

Flw!!


Responder

Gostei + 0

28/03/2008

Martins

vc está usando algum código para simular o TAB?

Seu componente é nativo do Delphi?


Responder

Gostei + 0

28/03/2008

Janbaceiredo

Estou usando esse codigo no OnExit do DBEdit
procedure Tfrm_Clientes.DBE_CPFCNPJExit(Sender: TObject);
begin
inherited;
If VerificaCPF_CNPJ(DBE_CPFCNPJ.Text) = False Then
Begin
MsgDialogPadrao.Caption:= ´Informação´;
MsgDialogPadrao.Text:= ´Atenção,´ + #13 + ´CNPJ Inválido´;
MsgDialogPadrao.ShowModal;
End;
end;

E esse para substituir o <TAB> por <ENTER>:
inherited;
If Key = 13 Then
Begin
SelectNext(ActiveControl, True, True);
Key:= 0;
End;

Ja refiz toda a janela, porem o erro permanece.
Ja force o componente perder o foco mais tb nao funcionou por ele esta perdendo o foco mais nao esta entrando dentro do evento OnExit


Responder

Gostei + 0

28/03/2008

Martins

Estou usando esse codigo no OnExit do DBEdit procedure Tfrm_Clientes.DBE_CPFCNPJExit(Sender: TObject); begin inherited; If VerificaCPF_CNPJ(DBE_CPFCNPJ.Text) = False Then Begin MsgDialogPadrao.Caption:= ´Informação´; MsgDialogPadrao.Text:= ´Atenção,´ + #13 + ´CNPJ Inválido´; MsgDialogPadrao.ShowModal; End; end; E esse para substituir o <TAB> por <ENTER>: inherited; If Key = 13 Then Begin SelectNext(ActiveControl, True, True); Key:= 0; End; Ja refiz toda a janela, porem o erro permanece. Ja force o componente perder o foco mais tb nao funcionou por ele esta perdendo o foco mais nao esta entrando dentro do evento OnExit


Percebi q esse seu componente é herança de um outro Form, talvez um form padrão (modelo) não sei, vc está usando herança no seu projeto todo?

Já testou seu código em um componente DBEdit sem herança para ver se o erro permanece?

Infelizmente estou viajando e aqui não tenho como ver isso no Delphi.

Boa sorte.


Responder

Gostei + 0

28/03/2008

Janbaceiredo

Correto...
Estou usando um Form (Pai) com todas as funcoes de acesso ao banco de dados e demais desing. Dessa forma eu crio via herança um form (Filho) e ADICIONO o componente DBEdit.

Em outros formularios esta funcionando, apenas nesse que nao. Ja refiz essa tela novamente e nada....


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar