Hola,
Vuelvo a tener problemas con el keydown en los browses. No se me dispara
cuando pulso las flechas del cursor, pero si con las letras y los números.
Para finales de enero reporté el mismo error y se arregló para esa versión,
pero parece que ahora vuelva a fallar.
Un saludico,
Fredy
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
DBBrowse1KeyDown
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
DBBrowse1KeyDown
Fredy,
Respecto a esto es posible que haya algunos cambios importantes en futuras
de Xailer y en cualquier caso debemos adoptar un funcionamiento único y
coherente para todos los controles de Xailer, me explico:
En mi opinión es el control el que debe procesar primeramente las teclas, si
alguna de ellas las procesa, como es el caso de las teclas de cursor en un
Browse, entonces debe parar su difusión y por lo tanto no ejecutar ningún
evento. En cambio si el control no procesa la tecla deberá permitir que se
ejecuten los eventos y logicamente deberá seguir la difusión de la tecla
hacia controles contenedores superiores. Este enfoque no significa que por
ejemplo, no se pueda capturar nunca una tecla procesada por el control ya
que para ello se puede utilizar el mecanismo de sobrecargar el método
WM????. Desde este enfoque que te cuento nunca se recibirían los eventos
OnKeyDown con las teclas de cursor. En tu caso, también podrías capturar el
evento OnChange() o podríamos plantearnos tener eventos OnGoUp() y
OnGoDown() pero creo que no son necesarios.
Actualmente la pulsación de cualquier tecla está llegando a través de
WMKeyDown y WMChar cuando lo correcto es que SOLO llegaran a WMChar si el
método WMKeyDown retorna NIL, es decir, no procesa la tecla. Este es un
problema que hemos detectado en Xailer hace poco tiempo y que no nos hemos
decidido arreglarlo hasta que publicasemos una nueva versión, por lo que es
posible que la futura versión 1.4 ya venga con esta modificación y me temo
que va a afectar a más de uno, pero esperamos que los efectos no sean
demasiado molestos, y en cualquier caso creemos que es peor dejarlo como
está.
En definitiva, no estamos más que siguiendo la propia convención del API de
Windows en el procesamiento de mensajes. No obstante, os agradeceriamos
cualquier comentario que nos querais hacer al respecto.
Un saludo,
"Fredy" <fredy@aglsl.com> escribió en el mensaje
news:[email=a20b86f3455a8c945eb87819374@news.xailer.com...]a20b86f3455a8c945eb87819374@news.xailer.com...[/email]
> Hola,
> Vuelvo a tener problemas con el keydown en los browses. No se me dispara
> cuando pulso las flechas del cursor, pero si con las letras y los números.
>
> Para finales de enero reporté el mismo error y se arregló para esa
> versión, pero parece que ahora vuelva a fallar.
>
>
> Un saludico,
> Fredy
>
>
>
Respecto a esto es posible que haya algunos cambios importantes en futuras
de Xailer y en cualquier caso debemos adoptar un funcionamiento único y
coherente para todos los controles de Xailer, me explico:
En mi opinión es el control el que debe procesar primeramente las teclas, si
alguna de ellas las procesa, como es el caso de las teclas de cursor en un
Browse, entonces debe parar su difusión y por lo tanto no ejecutar ningún
evento. En cambio si el control no procesa la tecla deberá permitir que se
ejecuten los eventos y logicamente deberá seguir la difusión de la tecla
hacia controles contenedores superiores. Este enfoque no significa que por
ejemplo, no se pueda capturar nunca una tecla procesada por el control ya
que para ello se puede utilizar el mecanismo de sobrecargar el método
WM????. Desde este enfoque que te cuento nunca se recibirían los eventos
OnKeyDown con las teclas de cursor. En tu caso, también podrías capturar el
evento OnChange() o podríamos plantearnos tener eventos OnGoUp() y
OnGoDown() pero creo que no son necesarios.
Actualmente la pulsación de cualquier tecla está llegando a través de
WMKeyDown y WMChar cuando lo correcto es que SOLO llegaran a WMChar si el
método WMKeyDown retorna NIL, es decir, no procesa la tecla. Este es un
problema que hemos detectado en Xailer hace poco tiempo y que no nos hemos
decidido arreglarlo hasta que publicasemos una nueva versión, por lo que es
posible que la futura versión 1.4 ya venga con esta modificación y me temo
que va a afectar a más de uno, pero esperamos que los efectos no sean
demasiado molestos, y en cualquier caso creemos que es peor dejarlo como
está.
En definitiva, no estamos más que siguiendo la propia convención del API de
Windows en el procesamiento de mensajes. No obstante, os agradeceriamos
cualquier comentario que nos querais hacer al respecto.
Un saludo,
"Fredy" <fredy@aglsl.com> escribió en el mensaje
news:[email=a20b86f3455a8c945eb87819374@news.xailer.com...]a20b86f3455a8c945eb87819374@news.xailer.com...[/email]
> Hola,
> Vuelvo a tener problemas con el keydown en los browses. No se me dispara
> cuando pulso las flechas del cursor, pero si con las letras y los números.
>
> Para finales de enero reporté el mismo error y se arregló para esa
> versión, pero parece que ahora vuelva a fallar.
>
>
> Un saludico,
> Fredy
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com