![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| |||
| Hola Sres Grupo VB mi consulta es la siguiente por ejemplo, yo tengo un proceso que está siempre corriendo... Sub Ejemplo() While Not KillProcess DoEvents Wend End Sub Private Sub cmdCancelar_Click Unload me End Sub proceso ejemplo queda corriendo sin darse cuenta que el formulario se descargo... y obviamente lo que hago, al descargar es KillProcess = true... mi consulta es la siguiente...¿hay alguna forma de hacerlo diferente? que vaya en cualquier parte del código y se de "cuenta" que el formulario se está descargando?? o se descargo?? asi como un tipo de interrupción?? ya que si yo descargo el form, y hay alguna llamada a algún objeto dentro del bucle, este se carga otra vez.... en fin.. les dejo la consulta.. tal vez me estoy complicando más de lo que necesito, pero es una forma de aprender nada más, saludosh! |
| | ||||
| ||||
| |
| |||
| El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> escribió: >por ejemplo, yo tengo un proceso que está siempre corriendo... >Sub Ejemplo() > While Not KillProcess > DoEvents > Wend >End Sub >Private Sub cmdCancelar_Click > Unload me >End Sub Esto te consumirá el 100% de la CPU ya que no permites a la CPU descansar mientras no descargues el formulario. >¿hay alguna forma de hacerlo diferente? >que vaya en cualquier parte del código y se de "cuenta" que el formulario se >está descargando?? o se descargo?? asi como un tipo de interrupción?? Hay varios eventos que se van ejecutando durante la descarga del formulario. Uno es Unload y otro es Terminate. Al ciclo de muerte de un formulario es el siguiente: * Unload: Alguien quiere cerrar el formulario (puede cancelarse). * Terminate: El proceso de liberación de recursos del formulario no tiene marcha atrás y está prácticamente completa. Podemos ejecutar algo como recargar un nuevo formulario o bien cerrar archivos antes de la finalización completa del formulario, etc... Supongo que la mejor forma de esperar un cierre es esa ya que no se queda ejecutando ningún código mientras esperamos que se cierre el formulario. Espero que eso sea lo que buscabas. Un saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |||
| El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> escribió: >por ejemplo, yo tengo un proceso que está siempre corriendo... >Sub Ejemplo() > While Not KillProcess > DoEvents > Wend >End Sub >Private Sub cmdCancelar_Click > Unload me >End Sub Esto te consumirá el 100% de la CPU ya que no permites a la CPU descansar mientras no descargues el formulario. >¿hay alguna forma de hacerlo diferente? >que vaya en cualquier parte del código y se de "cuenta" que el formulario se >está descargando?? o se descargo?? asi como un tipo de interrupción?? Hay varios eventos que se van ejecutando durante la descarga del formulario. Uno es Unload y otro es Terminate. Al ciclo de muerte de un formulario es el siguiente: * Unload: Alguien quiere cerrar el formulario (puede cancelarse). * Terminate: El proceso de liberación de recursos del formulario no tiene marcha atrás y está prácticamente completa. Podemos ejecutar algo como recargar un nuevo formulario o bien cerrar archivos antes de la finalización completa del formulario, etc... Supongo que la mejor forma de esperar un cierre es esa ya que no se queda ejecutando ningún código mientras esperamos que se cierre el formulario. Espero que eso sea lo que buscabas. Un saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |||
| El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> escribió: >por ejemplo, yo tengo un proceso que está siempre corriendo... >Sub Ejemplo() > While Not KillProcess > DoEvents > Wend >End Sub >Private Sub cmdCancelar_Click > Unload me >End Sub Esto te consumirá el 100% de la CPU ya que no permites a la CPU descansar mientras no descargues el formulario. >¿hay alguna forma de hacerlo diferente? >que vaya en cualquier parte del código y se de "cuenta" que el formulario se >está descargando?? o se descargo?? asi como un tipo de interrupción?? Hay varios eventos que se van ejecutando durante la descarga del formulario. Uno es Unload y otro es Terminate. Al ciclo de muerte de un formulario es el siguiente: * Unload: Alguien quiere cerrar el formulario (puede cancelarse). * Terminate: El proceso de liberación de recursos del formulario no tiene marcha atrás y está prácticamente completa. Podemos ejecutar algo como recargar un nuevo formulario o bien cerrar archivos antes de la finalización completa del formulario, etc... Supongo que la mejor forma de esperar un cierre es esa ya que no se queda ejecutando ningún código mientras esperamos que se cierre el formulario. Espero que eso sea lo que buscabas. Un saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |||
| El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> escribió: >por ejemplo, yo tengo un proceso que está siempre corriendo... >Sub Ejemplo() > While Not KillProcess > DoEvents > Wend >End Sub >Private Sub cmdCancelar_Click > Unload me >End Sub Esto te consumirá el 100% de la CPU ya que no permites a la CPU descansar mientras no descargues el formulario. >¿hay alguna forma de hacerlo diferente? >que vaya en cualquier parte del código y se de "cuenta" que el formulario se >está descargando?? o se descargo?? asi como un tipo de interrupción?? Hay varios eventos que se van ejecutando durante la descarga del formulario. Uno es Unload y otro es Terminate. Al ciclo de muerte de un formulario es el siguiente: * Unload: Alguien quiere cerrar el formulario (puede cancelarse). * Terminate: El proceso de liberación de recursos del formulario no tiene marcha atrás y está prácticamente completa. Podemos ejecutar algo como recargar un nuevo formulario o bien cerrar archivos antes de la finalización completa del formulario, etc... Supongo que la mejor forma de esperar un cierre es esa ya que no se queda ejecutando ningún código mientras esperamos que se cierre el formulario. Espero que eso sea lo que buscabas. Un saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |||
| El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> escribió: >por ejemplo, yo tengo un proceso que está siempre corriendo... >Sub Ejemplo() > While Not KillProcess > DoEvents > Wend >End Sub >Private Sub cmdCancelar_Click > Unload me >End Sub Esto te consumirá el 100% de la CPU ya que no permites a la CPU descansar mientras no descargues el formulario. >¿hay alguna forma de hacerlo diferente? >que vaya en cualquier parte del código y se de "cuenta" que el formulario se >está descargando?? o se descargo?? asi como un tipo de interrupción?? Hay varios eventos que se van ejecutando durante la descarga del formulario. Uno es Unload y otro es Terminate. Al ciclo de muerte de un formulario es el siguiente: * Unload: Alguien quiere cerrar el formulario (puede cancelarse). * Terminate: El proceso de liberación de recursos del formulario no tiene marcha atrás y está prácticamente completa. Podemos ejecutar algo como recargar un nuevo formulario o bien cerrar archivos antes de la finalización completa del formulario, etc... Supongo que la mejor forma de esperar un cierre es esa ya que no se queda ejecutando ningún código mientras esperamos que se cierre el formulario. Espero que eso sea lo que buscabas. Un saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |||
| El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> escribió: >por ejemplo, yo tengo un proceso que está siempre corriendo... >Sub Ejemplo() > While Not KillProcess > DoEvents > Wend >End Sub >Private Sub cmdCancelar_Click > Unload me >End Sub Esto te consumirá el 100% de la CPU ya que no permites a la CPU descansar mientras no descargues el formulario. >¿hay alguna forma de hacerlo diferente? >que vaya en cualquier parte del código y se de "cuenta" que el formulario se >está descargando?? o se descargo?? asi como un tipo de interrupción?? Hay varios eventos que se van ejecutando durante la descarga del formulario. Uno es Unload y otro es Terminate. Al ciclo de muerte de un formulario es el siguiente: * Unload: Alguien quiere cerrar el formulario (puede cancelarse). * Terminate: El proceso de liberación de recursos del formulario no tiene marcha atrás y está prácticamente completa. Podemos ejecutar algo como recargar un nuevo formulario o bien cerrar archivos antes de la finalización completa del formulario, etc... Supongo que la mejor forma de esperar un cierre es esa ya que no se queda ejecutando ningún código mientras esperamos que se cierre el formulario. Espero que eso sea lo que buscabas. Un saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |||
| El Wed, 20 Jul 2005 06:17:58 +0200, Oscar Garcia <redstarQUITARSPAM23***terra.es> escribió: >El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> >escribió: >Hay varios eventos que se van ejecutando durante la descarga del >formulario. >Uno es Unload y otro es Terminate. Nota: La idea es que durante el evento Unload o Terminate del formulario que estés esperando que se cierre puedes invocar el método "Unload" del formulario que estás mostrando con: Unload formulario O bien si es un bucle o una función que se ejecuta en paralelo debes invocar la descarga del formulario de igual manera. ¿Ese proceso por casualidad no será un proceso aparte de tu programa? (por ejemplo una ejecución de un programa externo como un compresor, etc). En última instancia yo usaría un timer y que la comprobación se hiciera cada x milisegundos (no menos de 500) para evitar sobrecargar la máquina con una espera activa. Otro saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |
| |
| |||
| El Wed, 20 Jul 2005 06:17:58 +0200, Oscar Garcia <redstarQUITARSPAM23***terra.es> escribió: >El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> >escribió: >Hay varios eventos que se van ejecutando durante la descarga del >formulario. >Uno es Unload y otro es Terminate. Nota: La idea es que durante el evento Unload o Terminate del formulario que estés esperando que se cierre puedes invocar el método "Unload" del formulario que estás mostrando con: Unload formulario O bien si es un bucle o una función que se ejecuta en paralelo debes invocar la descarga del formulario de igual manera. ¿Ese proceso por casualidad no será un proceso aparte de tu programa? (por ejemplo una ejecución de un programa externo como un compresor, etc). En última instancia yo usaría un timer y que la comprobación se hiciera cada x milisegundos (no menos de 500) para evitar sobrecargar la máquina con una espera activa. Otro saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
| |||
| El Wed, 20 Jul 2005 06:17:58 +0200, Oscar Garcia <redstarQUITARSPAM23***terra.es> escribió: >El Tue, 19 Jul 2005 12:09:17 -0400, "SocketE" <malice***mizer.jp> >escribió: >Hay varios eventos que se van ejecutando durante la descarga del >formulario. >Uno es Unload y otro es Terminate. Nota: La idea es que durante el evento Unload o Terminate del formulario que estés esperando que se cierre puedes invocar el método "Unload" del formulario que estás mostrando con: Unload formulario O bien si es un bucle o una función que se ejecuta en paralelo debes invocar la descarga del formulario de igual manera. ¿Ese proceso por casualidad no será un proceso aparte de tu programa? (por ejemplo una ejecución de un programa externo como un compresor, etc). En última instancia yo usaría un timer y que la comprobación se hiciera cada x milisegundos (no menos de 500) para evitar sobrecargar la máquina con una espera activa. Otro saludo. -- Óscar Javier García Baudet LinaresDigital http://redstar.linaresdigital.com/ |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Adiós "Método Gonzo", hola "Método podría estar latiendo mi corazón" | Sherkan | Newsgroup es.rec.tv.misc | 0 | 04-09-2008 12:28:18 |
| Y tan diferente... | Aburrit | Newsgroup es.rec.deportes.baloncesto | 0 | 08-06-2008 13:26:45 |
| Otro de dinero facil con diferente metodo de pago | marcoarabu@yahoo.com | Newsgroup es.charla.conexion.misc | 0 | 01-10-2007 04:46:19 |
| configura dos pagina diferente con diferente margenes | orlando torres | Newsgroup microsoft.public.es.frontpage | 5 | 31-03-2006 23:56:04 |
| Re: consulta sql cada vez resulta diferente | Darwin Quintero | Newsgroup microsoft.public.es.vfoxpro.datos | 2 | 22-02-2006 16:16:39 |