Tengo el siguiente código adjunto que lanzo en un evento de un formulario. El objetivo del mismo es recorrer los objetos de un formulario para cambiarles la propiedad Enabled.El código muere siempre en la línea 10 en el momento en que oControl es un Layout. No sé que puedo hacer porque si el objeto no es Layout funciona perfectamente.
El problema es que oControl como digo es un objeto, pero realmente no tiene nada dentro. No es posible controlarlo preguntando si “ES UN OBJETO”. La forma de hacerlo sin Try/Cash es la que os paso. Llevo 2 días con esto y la solución no podía ser más fácil.
He hablado con Velneo y no está implementado a el Tipo en la clase Widget a día de hoy. por tanto, no hay forma de saber dentro de un bucle de objetos el tipo de cada unod e ellos.
Espero que os sirva para no perder el día como me ha pasado a mi.
según la documentación, si le pasas el objeto a la función
widgetType
de la clase VMainWindow devuelve un número que equivale al tipo de control-widget
En la misma página de la clase VMainWindow hay una serie de enum donde se describe los controles que es posible que contenga un formulario.
Es decir, aquí hay alguien que se equivoca, o la documentación o ese soporte no es correcto.
Ahora no puedo probarlo, pero si añades a tu código esto
alert( theMainWindow.widgetType( oControl ) );
Fijate en los número que te vaya devolviendo y los comparas con la tabla de enum de la clase y con la lista de controles del formulario que estes analizando. Debería coincidir en los tipos
Me han dado después otra llamada ofreciéndome la misma solución que tu planteas. Al parecer tenían un problema de documentación y por eso me dieron la solución inicial errónea.
@Innova, la solución duque plantea tiene el problema que sí desquilatas un formulario o una caja directamente y dentro de esta hay una rejilla Ono se puede utilizar el scroll.
muchas gracias a a todos por contestar y por vuestra ayuda. Subiré la función cuando lo tenga acabado para uso de la comunidad.