Hola Juliá, este es el código del KeyDown donde se trata la tecla ESC:
Código:
//Pulsacion de Cancelar (ESC)
if (Key=VK_ESCAPE) then
begin
if not(DataSource3.DataSet.State in [dsInsert,dsEdit]) then
begin
Key := 0;
LiberaPantalla(numpantalla);
end
else
DBEdit18.SetFocus;
Exit;
end;
Está hecho de esta manera, para que cuando tenga el DataSource en edición, el Escape tenga su funcionalidad por defecto, es decir deshacer el último cambio. Y lo hace correctamente.
Tiene el Exit al final, porque dentro del KeyDown trato muchas mas teclas y como no puedo utilizar un Case, me veo obligado a hacerlo con if...else. Por eso pongo el Exit, para que no continue con los if...else.
¿Comentas lo del código al final, porque intentaría ejecutar el Exit sobre algo que ya no existe?.
Gracias. Un saludo.