Evento Open y Activate - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Evento Open y Activate (/thread-612.html) |
Evento Open y Activate - Shell - 16-09-2021 Buenas!. Buscando una aplicación que hace uso de una base de datos, encontré un error en como presentaba un formulario al comenzar la aplicación. Se trata de que al iniciar la aplicación muestre un formulario con una imagen y luego se cierre el formulario dando paso a otro formulario. Lo extraño fue. Que ese formulario de presentación al mostrar la imagen, el formulario se iba a la esquina superior izquierda y no se centraba. Ese código estaba en el evento Open. Puede que del cambio de QT4 a QT5 haya influido. La hice en el 2016. Os muestro un ejemplo parecido al del formulario. Código: Private cuentasegundos As Integer Como veis el Timer se dispara en el evento Load, en realidad antes se ejecuta el evento actviate y luego va al código del timer. Podría hacer que el código de mostrar la imagen fuese en el load, pero entonces no estaría centrado el formulario. Espero no repetirme, ya que puede parecer común. Saludos RE: Evento Load y Activate - Shordi - 16-09-2021 Pues yo no veo el load por ninguna parte... RE: Evento Openy Activate - Shell - 16-09-2021 (16-09-2021, 15:54)Shordi escribió: Pues yo no veo el load por ninguna parte. Ups, quise decir Open. (Creo que Form_Load me viene de Visual Basic) Para nota curiosa he probado el código en el evento Open del formulario en la Gambas 3.15.2 y funciona. En cambio en la Gambas 3.16.x tengo que usar el código en el evento Activate para que funcione. Si ya decía yo que esto lo había visto funcionar. Algo tuvo que cambiar en la Gambas 3.16. Saludos RE: Evento Open y Activate - Shell - 21-09-2021 ¿ Nada ?. Ni un siquiera, es más recomendable que uses el evento Activate por bla, bla, bla. Esto la única forma siempre será verlo ejecutando la aplicación. El problema es que con el tiempo cuando ya has creado la aplicación te encuentres que en una nueva versión del lenguaje no funcione algo que ya te funcionaba con anterioridad. En ese caso, los usuarios te avisarían, vale. Y el desarrollador lo verá cuando pase "el plumero". ( Si se acuerda ). Pero imaginemos que la aplicación es mucho más compleja. Pues habrá que rezar a "San Isidoro de Sevilla". ( El ciberpatrono ), allá por el 2001. Cita:El Papa Juan Pablo II considera nombrar a San Isidoro de Sevilla el santo patrono de los usuarios de la Internet y de los programadores de computación, dijeron el martes fuentes del Vaticano. Ya ha llovido desde entonces. No me quejo de que por actualizar a la 3.16.x esto haya dejado de funcionar. Más bien en un error de un mal uso de "algo" del lenguaje por parte del desarrollador (mía) que di por entendido que funcionaba así...pues a larga no era así. Que en parte a lo mejor el propio desarrollador principal lo vea mejor de esa forma. O algo cambió a la larga de una nueva instalación o actualización del sistema. Librerías y demás. - Error de diseño. - Obsolescencia de diseño. Saludos RE: Evento Open y Activate - Shordi - 21-09-2021 Cita:Ni un siquiera, es más recomendable que uses el evento Activate por bla, bla, bla.Es que tú te respondías solito... El evento Open se dispara al abrir un form. No puedes crear objetos en ese evento y querer que se muestren antes de que se muestre el formulario. Para mí el misterio es que te funcionase antes. Habría que probar qué ocurre si creas los objetos en el evento _New, que se dispara al crear la instancia del form y les das características en el open... Personalmente nunca he utilizado el evento Activate... para esas cosas hay otro parecido: Show Saludos RE: Evento Open y Activate - Shell - 21-09-2021 (21-09-2021, 12:42)Shordi escribió: Es que tú te respondías solito... En parte era por haceros hablar y dar vidilla. ( Se me ha visto el plumero). Cita:Personalmente nunca he utilizado el evento Activate... para esas cosas hay otro parecido: Show Es que Show es una "composición" de varios eventos. Saludos |