Hola, Pero nunca puede entrar por que no tiene nada, fijate, en ningún momento le asígnás una colección para recorrerla luego.
DIM oCONTENEDOR AS CONTROL <--- Inicializás o sea... null ! Y aparte esto oculta el valor del paramatro que tiene el mismo nombre. oCONTENEDOR.NAME <http://ocontenedor.name/> = cCONTENEDOR Entonces Contenedor es null y .Name, tambien. FOR EACH oCONTROL IN oCONTENEDOR.CONTROLS ''''NUNCA ENTRA A ESTE BUCLE On Fri, Mar 14, 2008 at 1:25 PM, <[EMAIL PROTECTED]> wrote: > Hola Grupo > > Los molesto con la siguiente inquietud > > Tengo una tabla en SQL en donde almaceno los permisos y habilitaciones a > una aplicación en Visual Basic .NET. > > La cuestion es la siguiente: estoy tratando de recorrer los controles que > tiene la aplicación (button, checkbox, tab, etc) y los pongo ENABLED True o > False dependiendo del valor que tengo en el registro de la tabla. > > Muy bien, si hago la referencia al Contenedero de manera explicita el tema > funciona perfectamente, pero si el nombre del contenedor lo mando en una > variable ya no funciona. Les paso el ejemplo de manera resumida > > 'ESTO FUNCIONA OK > > PRIVATE SUB PERMISOS() > ... > ... > VERIFICOPERMISO(NombreControl, bPermiso) > ..... > ...... > END SUB > > PRIVATE SUB VERIFICOPERMISO(BYVAL cCONTROL AS STRING, BYVAL bVALOR AS > BOOLEAN) > DIM oCONTROL AS CONTROL > > FOR EACH oCONTROL IN TABCONTROL1.CONTROLS ''''TABCONTROL1 ES EL NOMBRE > DEL CONTENEDOR > IF oCONTROL.NAME = cCONTROL > oCONTROL.ENABLED = bVALOR > ENDIF > NEXT > END SUB > > Bueno, esto así funciona ok, el tema es que yo quiero mandar el nombre del > contenedor en una variable, ya que lo tengo en un campo de la tabla, pero > eso ya no me funciona más. Les paso lo que uso > > 'ESTO NO FUNCIONA > > PRIVATE SUB PERMISOS() > ... > ... > VERIFICOPERMISO(NombreContenedor,NombreControl, bPermiso) > ..... > ...... > END SUB > > PRIVATE SUB VERIFICOPERMISO(BYVAL cCONTENEDOR AS STRING, BYVAL cCONTROL AS > STRING, BYVAL bVALOR AS BOOLEAN) > DIM oCONTROL AS CONTROL > DIM oCONTENEDOR AS CONTROL > oCONTENEDOR.NAME = cCONTENEDOR > FOR EACH oCONTROL IN oCONTENEDOR.CONTROLS ''''NUNCA ENTRA A ESTE BUCLE > IF oCONTROL.NAME = cCONTROL > oCONTROL.ENABLED = bVALOR > ENDIF > NEXT > END SUB > > Desde ya muchas gracias por la ayuda que puedan darme > > > ______________________________________________________________________ > > VxV - Tu espacio para publicar y compartir videos en tu > idioma<http://www.vxv.com> > -- Dario Quintana http://darioquintana.com.ar
