![]() |
Comportamiento extraño de TVirtualStringTree
Me está ocurriendo algo que no soy capaz de comprender. Tengo este TVST en un formulario.
![]() y en el evento OnChecked tengo puesto este código: Código:
int nRecibo = 0; |
Hola Ángel,
Puesto que en tu código parece que estás iterando por todos los nodos... ¿estás seguro de que es el evento "OnChecked " el que se ejecuta tantas veces como nodos existentes? ¿No será que lo que se ejecuta 37 veces es el código que tienes dentro del bucle "while"? En todo caso... salte de tu app... esto es... crea una app nueva, sólo para pruebas, coloca un componente de este tipo con un par de nodos... y haz la misma prueba, usa el mismo evento (pero no el mismo código dentro del evento) a ver qué puedes observar. |
No he utilizado ese componente pero se me ocurre que compruebas una cosa. En tu imagen aparece un nodo llamado Seleccionar todos y otro llamado Banco de los que cuelgan el resto.
Si haces check en uno de esos nodos con hijos se activan todos los hijos y eso puede ser la causa de la múltiple generación de eventos OnChecked (esto lo puedes comprobar viendo cuantas repeticiones ocurren checkando un nodo sin hijos). Si es este es el caso, quizás deberías cambiar a un OnClick que sólo se generaría una vez. Como apunta dec, el bucle se va a repetir tantas veces como nodos tengas, pero eso es justo lo que buscas para recorrerlos todos. Saludos. |
Gracias por las respuestas.
Cita:
Cita:
|
Cita:
|
| La franja horaria es GMT +2. Ahora son las 04:15:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi