Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/04/2008, 12:46
Foxi
 
Fecha de Ingreso: marzo-2008
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Algunas preguntas

VB es un lenguaje de programación que tiene un hilo de ejecución: Esto es: mientras se está ejecutando una función, no hace nada más, a no ser que se le diga explícitamente que haga algo más... Como podría ser el refresco de la pantalla del programa que se está ejecutando, o como la ejecución de la función DoEvents que tú mismo has encontrado... Tu problema con el reloj es el mismo caso que el del refresco de los textbox.

La función DoEvents, examina los eventos pendientes de ejecución, para ejecutarlos en el punto en el que lo has situado. O sea que si tú situas DoEvents en una función que está dentro de un botón que hace una tarea relativamente larga, y mientras se está ejecutando, le pulsas otra vez al botón: La función del botón se ejecutará de nuevo sin haber terminado la primera. (No sé si me he explicado bien. pero hay que tener muy claro lo que hace esta función para ponerlo apropiadamente en tus funciones, y no modificar algún valor que no había sido tratado)... So lo que quieres es sólo actualizar los datos de la pantalla, intenta refrescar el formulario, y no dar acceso a, por ejemplo, poder cerrarlo. (Todo depende de lo que desees).

Para lo de la subrutina en uso, puedes utilizar una variable de texto global (que rara vez aconsejo) que tendrías que ir actualizando cada vez que entras en una subrutina.

Saludos, Foxi.