Identificar eventos en ejecución en VB .Net

Mi duda es muy sencilla.
Más que nada quiero saber si es posible identificar cual es el evento o procedimiento (ya sea Sub o Function) que se esta ejecutando.
Más que nada lo necesito para crear alguna forma de dejar al usuario con un formulario bloqueado hasta que el programa termine de hacer las operaciones, es decir que quiero que si el sistema esta haciendo algo el usuario no pueda hacer nada y cuando termine se habilite la pantalla.
Ya se que puedo hacerlo con la propiedad enabled y el cursor del formulario, pero esto me significaría escribirlo en cada evento del sistema o en cada llamada a funciones.
Favor de ayudarme en este problema.
Saludos y a todos y gracias por su valioso tiempo.
Respuesta
1
Acabo de ver tu pregunta en el foro público... mmmm bastante sencillo de solucionar esto es usando threads! Derivas un thread que haga la acción principal del programa y con un wait sobre el thread donde está ejecutando el formulario principal bloqueas la ejecución, hasta que el otro thread llegue al final de su ejecución, donde despertarás al thread principal donde estaba bloqueado para que continúe su ejecución. Perdona por no haber contestado antes, pero es que el tablón público no suelo consultarlo muy a menudo y es por eso que ahora que lo he consultado he visto tu pregunta. Preguntando privado adelantarás más, ya que a los expertos nos llega notificación al email y eso es más rápido. Saluditos!
-Villalvilla-
Hola.
Gracias por responder mi pregunta y gracias por la respuesta... pero...
Entiendo lo que tu dices ... pero los hilos (threads) los tendré que hacer por cada ejecución que necesite hacer, lo cual me complica, ya que estoy desarrollando un sistema que es muy grande ... lo cual me implica mucho tiempo de desarrollo en sincronizar correctamente cada hilo...
Te explico con más detalle lo que necesito ...:
Imaginate que tengo un formulario llamado form1 y que dentro de el tengo una serie de botones ... cada vez que el usuario presione un botón necesito necesito llegar a un procedimiento en común ... para que de esta forma controlar cualquier tipo de error, detornar mensajes, etc...
Lo que quiero es hacer una sola función que identifique si algún Evento o Método de mis clases se comenzó a ejecutar para comenzar por otra parte a ejecutar mi procedimiento de validación, error, etc...
Mi consulta más que nada es si existe alguna forma de monitorear mi proyecto y detectar cuando se comenzó a ejecutar algún evento o método.
Quiero hacer algo muy parecido al "FileSystemWatcher" que monitorea un directorio para detectar cambios en el ... claro que yo lo quiero hacer con el código de mi proyecto para sabver cuando se comenzó a ejecutar algo ...
Espero haber sido un poco más claro en lo que quiero lograr ...
De antemano muchas gracias por tu ayuda y tu tiempo...
Espero tu respuesta...
Saludos y Gracias por todo...
bye.
Creo que no entendí bien tu pregunta... a ver si me aclaro... ¿tu quieres que cuando se pulse 1 botón de los muchos que tienes en el formulario se ejecute 1 evento común a todos los botones que de antemano compruebe si el resultado de pulsar ese botón da algún error y si no permitir que continúe ejecutándose normalmente? Si es así lo que puedes hacer es 1 manipulador de eventos común a todos tus botones y que haga de filtro de los mismos, y dentro discernir si se pulsó 1 botón u otro o da un error u otro, utilizando el parámetro sender as object de la cabecera del manipulador del evento.
Por otro lado la opción que tú dices de estar monitorizando todo el rato si se ejecuta parte de tu código es inviable, porque supondría espera activa, algo así como: ¿Estoy ejecutando? ¿Estoy ejecutando? ¿Estoy ejecutando? ¿Estoy ejecutando? ¿Estoy ejecutando? ¿Estoy ejecutando? ¿Estoy ejecutando? ¿Estoy ejecutando? ¿Estoy ejecutando?... parecerías un niño mal educado, ¿no? Je je. Creo que esto es lo que quieres, pero no estoy seguro... si no es así explica tu problema concreto y podré ayudarte.
Nota: ten en cuenta que una aplicación orientada a objetos con gestión de eventos como son las aplicaciones vb.net se conforma de un acojo-conjunto de flujos de mensajes que van de un lado a otro de tu ensamblado parando y arrancando cuando un guardia se lo dice, y ese guardia eres tú! No puedes obligar al sistema a generar un evento porque sí o preguntarle sistemáticamente acerca del contenido o el estado de ciertas variables del sistema, porque te convertirás en una abuela histérica que todo lo quiere mandar y controlar... y eso es imposible! Mejor canaliza el tráfico de la información que te llega por los eventos. 1 saludo y espero tu aclaración/confirmación!
-Villalvilla-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas