No refresca la pila de formularios


([N1] wikan) #1

Buenas tardes,

estoy intentando usar una pila de formularios. Pero no me refresca el control, no me cambia de formularios.

Estoy usando una variable global en memoria y no hay manera. Sin embargo el valor de la variable si va cambiando.


([N1] Pepeto) #2

No te lo puedo confirmar, pero imagino que el problema es el mismo en

- Separador de formularios

- Pila de formularios

- Caja de formularios

ya que solo son formas distintas de ver lo mismo

 

un saludo

Jose


([N1] wikan) #3

Hay veces que te encuentras con cada muro...


([N4] Jorge) #4

Este es de los más dolorosos.


([N4] eic) #5

Hola.

Que yo sepa, la pila de formularios se diferencia de la caja de formularios y del separador de formularios en que el formulario que se visualiza no lo elige el usuario, como en los otros dos casos, sino que se activa por programación, utilizando el comando de interfaz "Interfaz: Activar subcontrol", que debe llamarse desde un evento (lo típico de poner un botón "Siguiente" o "Anterior", como en un asistente). Y, hasta donde yo sé, funciona bien (los usé alguna vez). ¿Cómo lo intentas hacer?

Saludos,

Fran Varona

 


([N1] wikan) #6

Hola Fran,

pues lo estoy haciendo mediante la condición de visibilidad de cada subcontrol. Según la ayuda, http://velneo.es/info_v7_74_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/proyecto_de_aplicacion/formulario/pila_de_formularios, sobreentiendo que es así.

De todas formas, hacerlo como tu comentas no me sirve. Ya que no estoy nada parecido a un wizzard, es más bien una serie de opciones que van apareciendo según la selección que se vaya haciendo. De ahí el hecho también de hacerlo con una variable global.


([N4] eic) #7

Hola.

Pues no, no se hace así, al menos que yo sepa: el segundo párrafo indica claramente que sólo se pueden activar los subformularios mediante la utilización de "Interfaz: Activar subcontrol", es decir, desde un evento. No te sirve utilizar una variable global para condicionar su visibilidad.

Te serviría en una caja de formularios o en un separador, si no fuera porque las condiciones de visibilidad de los subformularios en estos objetos no se refrescan una vez que están abiertos. Esas condiciones sólo actúan al abrir el formulario que los contiene. Hay una incidencia al respecto en vBugman.

Lo que podrías hacer es utilizar tantos controles objeto como subformularios quieras poner, y condicionar su visibilidad con las variables globales. Eso sí podría funcionar.

Saludos,

Fran Varona

 


([N1] wikan) #8

Cierto, no me había percatado de eso. Aunque ahora menos entiendo la condición de visibilidad.

Creo que lo haré como comentas.

 

Un saludo


([N4] Jorge) #9

De momento no hay solución sencilla al problema. La solución comentada por Fran es la solución adoptada de serie en PaaSOS, pero hay que tener en cuenta otro conjunto de circunstancias derivadas de esta decisión (el evento starting se lanza después de la carga de los controles objeto).

 

Esta situación inutiliza los controles mencionados para circunstancias donde se requiera refresco de controles objeto contenidos en los mismos.