DataBox evento change dos veces - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: DataBox evento change dos veces (/thread-1086.html) |
DataBox evento change dos veces - gartumar2 - 03-11-2022 Sabe alguien por qué el evento change de un DateBox se ejecuta dos veces en cada cambio de fecha. ¿? RE: DataBox evento change dos veces - Shordi - 03-11-2022 Bienvenido. No uso ese control, pero si pasas tu código podemos mirarlo, si no... pueden ser mil cosas. Saludos RE: DataBox evento change dos veces - tincho - 03-11-2022 (03-11-2022, 02:31)gartumar2 escribió: Sabe alguien por qué el evento change de un DateBox se ejecuta dos veces en cada cambio de fecha. ¿? No lo se pero lo curioso es que el doble evento solo se produce si cambias la fecha con el boton de calendario y no si lo cambias a mano, donde cada vez que cambias un numero salta el evento. Así que creo que algo sucede con el manejo del llamado "proxy" de eventos que no se como funciona pero me parece que va por ahí el tema. Creo que como usuario no puedes hacer nada al respecto, solo reportarlo en bug tracker de gambas o enviar un email a la lista internacional, y seguramente lo solucionen en unos dias en la version de desarrollo, pero no en la que tienes instalada si es de repositorios. RE: DataBox evento change dos veces - gartumar2 - 03-11-2022 Efectivamente: Si cambias la fecha de forma manual se dispara el evento cada pulsación en día o en mes y al terminar de poner el año. Esto parece lógico ya que la fecha ha tenido todos esos "Change". Cuando cambias la fecha desde el calendario o desde código, el evento se dispara siempre dos veces. Esto no es razonable, ya que solo ha habido un cambio en la fecha. He realizado un programa de prueba con un DateBox y un Button y he hecho las comprobaciones. Solución: He puesto una variable testigo, de tal forma que cuando el evento se dispara, si la fecha es la misma que la anterior, se sale del procedimiento sin hacer nada. Public Sub dtxFecha_Change() If $dTestigoFecha = dtxFecha.Value Then Return $dTestigoFecha = dtxFecha.Value .. .. RE: DataBox evento change dos veces - tercoide - 04-11-2022 ya hubo ese problema con otros controles y es un bug de Gambas, o de QT5 o de GTK3 RE: DataBox evento change dos veces - tincho - 04-11-2022 (03-11-2022, 23:19)gartumar2 escribió: He puesto una variable testigo, de tal forma que cuando el evento se dispara, si la fecha es la misma que la anterior, se sale del procedimiento sin hacer nada. También se puede hacer, por ejemplo, de esta otra manera: Código: Public Sub GridViewFilter_KeyPress() |