gbx3 [3161]: warning: 2909 allocation(s) non freed. - 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: gbx3 [3161]: warning: 2909 allocation(s) non freed. (/thread-114.html) Páginas:
1
2
|
RE: gbx3 [3161]: warning: 2909 allocation(s) non freed. - vuott - 24-09-2020 " supongo que se puede llamar al Form_Close() del formulario principal desde cualquier otro formulario mediante una función pública o un evento creado ad-hoc. " Exactamente. En estos casos el Evento "Form_Close() " es muy util. RE: gbx3 [3161]: warning: 2909 allocation(s) non freed. - jsbsan - 24-09-2020 Cita:"entonces cierras la ventana principal de la aplicación y te quedan abiertas 3 o cuatro según el usuario las haya abiertos y queda desprolijo que tu programa este cerrado y queden ventanas ahí sin cerrar y ni te cuento si hay algún vídeo o audio ejecutándose o algún timer" Os dejo un ejemplo de una forma de "recopilar" las ventanas que se abren y que cuando cierro "el formulario principal", se cierren tambien ellas: Código: ' Gambas class file RE: gbx3 [3161]: warning: 2909 allocation(s) non freed. - kokodrilo - 25-09-2020 julio en eso pensaba como solución, no se si exacto como ese código pero... no se donde lo mencione, tener una variable publica en el formulario principal y añadir todos los formularios que no sean en modo showmodal, y al cerrar hacer un foreach. voy a probar el código y después te cuento, gracias por el ejemplo una pregunta julio, en vez de usar variant, no seria Windows[] los formularios son ventanas no? RE: gbx3 [3161]: warning: 2909 allocation(s) non freed. - vuott - 25-09-2020 (25-09-2020, 14:56)kokodrilo escribió: os formularios son ventanas no? Sì, pero porqué no usar un array de Form ? RE: gbx3 [3161]: warning: 2909 allocation(s) non freed. - jsbsan - 25-09-2020 Kokodrilo: Cita:en vez de usar variant, no seria Windows[] Uso un array de variant[] es porque admite todo clase de objetos, (en este caso concreto son ventanas), pero puede ver otros casos que también te interese añadirles al array procesos o timer. Saludos 'Nota: Si son timer, tienes que cerrarlos con .stop (y no con .close()) RE: gbx3 [3161]: warning: 2909 allocation(s) non freed. - kokodrilo - 25-09-2020 si seria mas preciso, vuott julio, si variant parecería lo mas acertado y escalable. ya probé y anda bien, lo que tengo que añadir todos los formularios en su evento open, espero sea el correcto, cree una variable global VentanasAbiertas y al principio del evento open de cada formulario pongo VentanasAbiertas.Add(me) y bueno en close el foreach. 'Nota: Si son timer, tienes que cerrarlos con .stop (y no con .close()) si eso es obvio julio, ahí ya hay que recorrer el array identificar que tipo de objeto y ejecutar la accion. |