Galera delphiana, eu sei que na programação tudo tem um lógica. Mas sinceramente não estou conseguindo encontrar a lógica disso: e tenho uma tela de cadastro, nessa tela tem todos os botões de incluir alterar etc.... e tem um botão de PESQUISA (CONSULTA) que abre um outro formulário lista todas os registros desse cadsatro. Eu utilizo teclas de funções nesse cadastro Por exemplo pra abrir a consulta eu utilizo F10, no evento OnKeyDow com o seguinte código if (key = VK_F10) then btConsultaClick(Self); ele carrega o evento onclick do botão. Consulta := TConsulta.create ( application ); try Consulta.ShowModal finally Consulta.Release; Consulta := nil; end; agora que vem o X da questão quando eu fecho a consulta o sistema executa novamente o envento OnKeyDow . e abre novamente a bendita da consulta.
Como pode? Fica buferizado isso no forme por causa do KeyPreview = True? Por que sem isso não funciona as teclas de função. Sinceramente nãoo sei espero que os experientes colegas possam me dizer.. Testei chamando um showmessage e tambem a msg aparece duas vezes. Tenho outros modulos que trabalham com o KeyPreview = True e não ocorre esse problema. Obrigado. ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]