Crie uma variavel sete-a como true no OnKeyPres e no OnKeyExit se esta for true pule a execução
Isso eu já fiz e não é OnKeyPress, mas sim, OnKeyDown. A tecla é a F7, aí eu declarei uma var Sair:Boolean; No OnKeyDown eu dou Sair = True e na primeira não funciona, mas na segunda funcionou.
não entendi muito bem mas o que me parece é que você deve fazer isto:
if key = X then
faça isto
else if key = Y then
faça aquilo
else
faça outra coisa
Vou explicar melhor. Tenho códigos no evento OnExit, e um deles, é focar num Edit, caso esteja vazio(TEXT = ´´). Porem no evento OnKeyDown, eu preciso, que quando a tecla F7 for pressionada, estando ele vazio ou não, ele me abra um painel e o cursor vá para o edit daquele Painel. Porem se eu der um F7, ele vai executar o comando do F7 e depois o OnExit, e o que eu não quero é que quando o OnKeyDown for chamado, o OnExit não executa nada, como se ele saisse da procedure.
Resolvi
Crie uma variavel sete-a como true no OnKeyPres e no OnKeyExit se esta for true pule a execução
Fiz assim, mas antes estava no OnKeyDown do componente e não funcionou. Coloquei no OnKeyDown do form e funcionou. Valeu!!!