|
Página 1 de 1
|
Problemas Con La Colección Me.Controls
Autor |
Mensaje |
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Problemas Con La Colección Me.Controls
Tengo la siguiente jerarquía de objetos:
formulario A
workspaces
formulario B
Suponiendo que el nombre del formulario b fuese formub, si coloco este código en un evento de formulario A:
f siempre es NULL
Sin embargo si el código es:
f es una referencia a formub
El tema me tiene perplejo. ¿Es una peculiaridad de la clase workspaces? ¿ME.Controls no es realmente una colección? ¿Alguien sabe algo de esto? ¿A qué huelen las nubes?
Gracias.
=================== No podemos regresar
|
#1 Martes, 19 Julio 2011, 18:51 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con La Colección Me.Controls
Jejeje, acabo de responder a un novato que se mire "cómo hacer preguntas inteligentes" para obtener respuestas y yo no soy capaz de que nadie me conteste... Nunca acaba uno de aprender...
=================== No podemos regresar
|
#2 Miercoles, 20 Julio 2011, 08:10 |
|
|
santijav
Aprendiz
Registrado: Febrero 2010
Mensajes: 77
Edad: 39
|
Re: Problemas Con La Colección Me.Controls
No te desanimes así!!! Puede (como es mi caso) que no podamos ayudarte porque sencillamente no conocemos la respuesta... Y en dicha circunstancia es mejor guardar silencio... silencio que rompo para hacer esta aclaración...
Ciertamente raro lo que preguntas...
Nunca he tenido esa situación... pero la collection que mencionas, va agregando automáticamente los objetos dentro de ella a medida que los creas (pregunto porque en código no se ve que los agregues a la misma)...
|
#3 Viernes, 22 Julio 2011, 02:32 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con La Colección Me.Controls
No, el código es un ejemplo, no el código real (que es demasiado largo para ponerlo aquí). Sin embargo lo he depurado cientos de veces y no hay manera, me.controls contiene el elemento que busco, pero no le vale la referencia...
=================== No podemos regresar
|
#4 Viernes, 22 Julio 2011, 10:02 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Problemas Con La Colección Me.Controls
Hola a todos
Digo lo mismo que santijav, nunca he usado el control workspaces, por eso no me he aventurado a contestar.
Sin embargo, aunque no está muy claro el planteamiento inicial, entiendo que en un formulario padre tienes un contenedor workspace, el cual a su vez es el padre de los formularios que contiene.
A mi modo de ver, ME, en este caso es parent del workspace y a su vez "abuelo" de los formularios del workspace. Por lo que desde Me.controls no puedes acceder directamente a los formularios del workspaces, que supongo estarán en otra colección más profunda, su propia colección.
|_ Formulario A
!__ Workspace
|_ formB
|_ formC
|_ formN
De este modo se me ocurre, esta podría ser la forma de acceder:
No me he dignado siquiera a probarlo, es un poco tirarme a la piscina sin flotador, jeje...
[EDITO]
He visto que en realidad la forma de acceder a la lista de ventanas dentro del workspace es mediante su propiedad .children, que devuelve un array de Objetos. Así que posiblemente la notación f=ME.Controls["Workspace1"][indice] pueda funciionar.
http://gambasdoc.org/help/comp/gb.form.mdi/workspace/children
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
última edición por jguardon el Viernes, 22 Julio 2011, 18:40; editado 1 vez
Editado por Invitado, Jueves, 01 Enero 1970, 01:00:
|
#5 Viernes, 22 Julio 2011, 18:21 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con La Colección Me.Controls
Efectivamente, Jesús, Se puede alcanzar a formub a través de los children del workspace... pero si haces un testeo a la colección me.controls:
Aparecen sin problemas Formb y formc pletóricos de vida y salud.
Por eso, la segunda opción que planteo en el post:
Funciona perfectamente, lo cual no entiendo...
=================== No podemos regresar
última edición por shordi el Viernes, 22 Julio 2011, 19:51; editado 1 vez
|
#6 Viernes, 22 Julio 2011, 19:46 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Problemas Con La Colección Me.Controls
Es una cuestión que merece la pena preguntar a "Benito" directamente, a través de la lista.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#7 Viernes, 22 Julio 2011, 19:55 |
|
|
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
Re: Problemas Con La Colección Me.Controls
Citar:
El tema me tiene perplejo. ¿Es una peculiaridad de la clase workspaces?
Me parece que no, sino que es un problema en la implementación del acceso a la colección Controls de Form: durante la enumeración se itera sobre el conjunto de todos los controles incluidos los "hijos", pero al recuperar sus elementos mediante claves no.
Citar:
¿Alguien sabe algo de esto?
Benoit seguro que sí.
Citar:
¿A qué huelen las nubes?
Bueno, ésta creo que te la puedo responder ya que varias veces pude estar en la montaña mientras pasaban las nubes y... huele a nube
En realidad, recuerdo que en esos momentos sentía un leve frío húmedo y un tenue aroma que no sé cómo describir, pero que no es propio de la nube sino que es como cuando llueve en el campo y "se siente el olor a lluvia" o mejor dicho a la tierra mojada.
Saludos.
PD. El acceso a los controles contenidos en el Workspace se puede hacer mediante Controls así:
DIM f AS Object
f = Me.Controls["Workspace1"] ' se realiza el casting a Object
f = f.Children[0] 'Obtiene el formulario incrustado en el Workspace
'También se podría hacer:
f = f.Children[0].Children[Indice] ' para acceder al control que corresponde a Indice contenido en el formulario incrustado en el Workspace
'no se puede acceder directamente porque Controls devuelve el tipo "Control" que no tiene definida la propiedad Children
ME.Controls["Workspace1"].Children[0] ' daría error
=================== Cómo programar con Gambas
Speed Books: informática libre.
última edición por fabianfv el Sabado, 23 Julio 2011, 03:20; editado 1 vez
|
#8 Sabado, 23 Julio 2011, 02:51 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con La Colección Me.Controls
je, je,je, lo que son las referencias culturales eso de que "a qué huelen las nubes" es una pregunta idiota que hacían aquí en españa en un anuncio de compresas Evax... y que dio lugar a toda una subcultura de bromitas machistas....
|
#9 Sabado, 23 Julio 2011, 20:12 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|