Shordi   27-07-2023, 12:49
#1
El otro día me llamó el Padawan desde mi antiguo trabajo muy mosqueado. Desde la versión 3.18.1 uno de los formularios que llevan más de 10 años funcionando, hacía que la aplicación se colgara y no respondiese a nada y él no sabía por dónde cogerlo.

Una pequeña investigación me enseñó que el culpable era un control que extiende el combobox.
Resulta que han modificado el comportamiento de combobox de manera que al cambiar su texto o su índice, se dispara el evento Click.

Esta mañana yo, en uno de mis programitas "de investigación", me encuentro con que a la hora de "rellenar" un contenedor éste ya está "relleno" y se genera un error.
Una no tan pequeña investigación me revela que la causa es la misma, un combobox que se rellena a partir de un archivo settings, dispara de manera automática el evento click... que rellenaba el contenedor de marras.

En resumen, tened en cuenta ahora que si queréis simplemente rellenar un combobox ( o derivado) y que no se dispare dicho evento (por ejemplo al rellenar un formulario desde una base datos donde uno de los campos se gestiona con un combobox y le asignamos el valor grabado en la BDD pero no queremos que se dispare nada todavía), debéis hacer algo así:

Código:
object.lock(micombobox1)
Micombobox1.index= Mi_valor_de_inicio
object.unlock(micombobox1)

Este comportamiento ya lo tenían otros controles, como checkbox, pero es nuevo para combobox... y no lo he probado con ListBox, que es el más parecido.

Saludos

No podemos regresar
tercoide   27-07-2023, 15:30
#2
es así como dices, se dispara el evento Click al rellenar y entonces hay que prevenir esta situacion

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
  
Usuarios navegando en este tema: 5 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.