Delphi 7 - KeyBd_Event - debug

Delphi

30/10/2013

Boa tarde!

Estou trabalhando em um programa de bilhetagem eletrônica.
Temos um módulo principal com um actionlist. Neste actionlist, no pressionamento da tecla ESC, ele chama a função fechaforms que (obviamente) fecha todos os forms filhos abertos cuja tag for diferente de 1 (todas, com exceções não relevantes).

A minha dúvida está no processo de fechamento de formulários de venda.
Antes fechávamos chamando a função fechaforms diretamente de dentro do último formulário filho do módulo de vendas, após ter trazido o resultado da venda (sucesso ou falha).
Devido observarmos que acusava Access Violation dessa maneira e também observando que quando simplesmente pressionávamos a tecla esc (pois era equivalente, quando a mesma chamava a função fechaforms por fora) não acontecia, decidimos trocar o comando "FrmMain.fechaforms;" pelo comando "keybd_event(VK_ESCAPE,0,0,0);"

O problema está que o comando KeyBd_Event só funciona no modo de execução direta, não funciona no Debug por algum motivo.
Não sei se o problema está no comando, ou se ele ñao suporta chamar a execução de actionlist referente ao pressionamento da tecla referenciada no parâmetro da função.

Se alguém souber o problema, agradeço muito!

Robson,
Analista e Desenvolvedor de Sistemas.
Robson Faxas

Robson Faxas

Curtidas 0
POSTAR