Obrigado André, resolveu o problema. Mas o que achei estranho é que eu já tinha tentado antes com o Close diretamente, mas continou dando erro, sabe-se lá pq. Mas troquei novamente e aí resolveu.
De qualquer forma, obrigado. Sds, Ricardo. André - Gmail <[EMAIL PROTECTED]> escreveu: use if Key = 27 then Close; ao invés de if Key = 27 then frmEVENTOS_SERVICO.OnClose; ----- Original Message ----- From: "Ricardo César Cardoso" <[EMAIL PROTECTED]> To: <delphi-br@yahoogrupos.com.br> Sent: Friday, May 04, 2007 9:17 AM Subject: [delphi-br] Fechar Form usando tecla ESC Bom dia amigos da lista! Tenho a seguinte dúvida: num form da minha aplicação, gostaria que fosse possível usar a tecla [ESC] para sair da tela. Mas quando pressiono a tecla [ESC] para sair da tela, o sistema dá uma violação de acesso. Coloquei Breakpoints para ver se as rotinas Close e CloseQuery eram chamadas, mas nenhuma delas é chamada. Vejam abaixo o código usado: Procedure TfrmEVENTOS_SERVICO.FormCloseQuery(Sender: TObject; var CanClose: Boolean); Begin dmEVENTOS_SERVICO.Free; End; Procedure TfrmEVENTOS_SERVICO.FormClose(Sender: TObject; var Action: TCloseAction); Begin with frmPRINCIPAL do MainMenu1.Items.Items[2].Remove(mJanelas.Find('TAREFAS')); Action := caFree; frmEVENTOS_SERVICO := nil; End; Procedure TfrmEVENTOS_SERVICO.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); Begin if Key = 27 then frmEVENTOS_SERVICO.OnClose; End; Se alguém tiver alguma idéia de como resolver este problema, fico agradecido. Saudações, Ricardo. __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] - __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]