Ver Mensaje Individual
  #15  
Antiguo 07-09-2003
Avatar de javiermorales
javiermorales javiermorales is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 272
Reputación: 22
javiermorales Va por buen camino
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.
Responder Con Cita