Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[SOLUCIONADO]  ¿como reinicio formulario o recargo todo el contenido?
#1

Hola

Tengo un problema antiguo que no lo había notado hasta ahora. Y es que yo tengo un Formulario principal donde en el centro tengo un panel que se encarga de visualizar los formulario con Reparent pero me acabo de dar cuenta que aunque visualiza los formularios no los reinicia ninguna vez solo la primera vez que carga con Open el formulario principal y conforme se cargan la primera vez y después todo queda estático.

Por ejemplo si ustedes ponen un contador en tres formulario y hacen lo que yo osea cargarlos con reparent después no cambia el contador que pongan en el centro de cada formulario y este es mi problema, como hago para que se refresquen. Yo he pensado en poner un Timer pero eso es lo que quiero evitar.

¿Que se les ocurren a ustedes que sea mas elegante y correcto en Gambas?
    ¡Gracias!
#2

Es completamente lógico. Los controles de los formularios se cargan con sus valores en el evento Form_Open si así lo has programado tú. El método reparent no vuelve a crear un formulario que ya existe en memoria, solo se limita a cambiar su ancestro.

Por lo tanto, para que los valores se actualicen con cada reparent, tendrás que buscar una forma de hacerlo por tu cuenta, por ejemplo, moviendo el contenido de Form_Open donde inicialices los valores a un método separado que puedas llamar primero desde el Open y luego desde (o a continuación) del Reparent.

En cualquier caso, creo que en este caso es responsabilidad del programador mantener los valores de los controles actualizados por métodos especificos a la medida de las necesidades, porque no parece que se haga mágicamente como cabría esperar.

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
    ¡Gracias!
#3

Gracias jguardon como siempre es un honor saludarte Smile

Tienes razón, pero como esto es un foro pues quizás no te he expresado todo lo bien que yo fuera querido.

Mira yo hago formulario.delete y supongo que lo destruyo, de esta forma la próxima vez que solicito un reparent del formulario yo en particular espero un Form_Open() pero después de la primera vez no ocurre más. Y por eso la pregunta. Yo pensaba que no hacia algo bien en lo particular y pensaba que tras delete pues se tenia que cargar todo de nuevo y así lo deje y así lo pensé.

Mi sorpresa fue cuando puse gridviews con datos y cuando volvía desde el menú a esta ventana con reparent es cuando vi que no cargaba ninguna novedad.

En fin, que harías tu, poner un timer estratégicamente. O en fin que hacéis ustedes que sois mas expertos en Gambas.

Mil gracias por tu ayudita y espero que estéis muy bien por la famili.
    ¡Gracias!
#4

Hola gambafeliz.

También tuve ese problema, creía que el evento  "Form_Open()" siempre se ejecutaba cada vez que invocaba un formulario.
Prueba con "Form_Show()" y me comentas.

Mira este pequeño ejemplo utilizando el objeto "Workspace" y "Form_Open":
.gz ConWorkspace-0.0.1.tar.gz Tamaño: 12.73 KB  Descargas: 1


Saludos.
[-] Los siguientes 1 usuarios dice gracias a omoreno por este post:
  • gambafeliz
    ¡Gracias!
#5

Muchas gracias omoreno mis saludos

Oye la verdad que lo probé pero supongo que usé un mal ejemplo y como no me fue bien pues lo rechacé, además probé uno a uno cada evento de form y ninguno me solucionó el problema. Pero como acabo de decirte supongo que fue el ejemplo que puse que no fue el correcto.

En fin muchisimas gracias de verdad.

Saludos a los dos Smile
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)