Cita:
|
Empezado por emeceuy
El timer que uso dice que tiene hasta 1ms, pero resulta que la respuesta varía hasta 50ms, de ahí hacia abajo no hay variación.
|
Efectivamente, en torno a 50 ms (1/18 parte de un segundo) está la precisión del TTimer, que no es otra cosa que una intertaz al recurso Timer del API de Windows.
Cita:
|
Lo que hago actualmente es en cada ejecución del timer, manda a un bucle de intervalo 4000 que realmente va rápido. Así la verdad que funciona bastante bien, pero me gustaría ver si puedo encontrar un timer que funcione mas rapidamente (con un intervalo mas pequeño) para no tener que hacer este invento del bucle.
|
Pues lo del bucle no es mala idea salvo que te ralentiza el resto de la aplicación. Creo que te convendría implementarlo dentro de un hilo aparte (mira los TThreads) de manera que no interfieriera con el resto de procesos (tampoco sé si son muchos o no). Dicho TThread se encargaría de tener en marcha un bucle continuamente y a cada intervalo deseado lanzar la acción que desees, puedes valerte de la función GetTickCount (windows.pas) o bien de QueryPerformanceCounter que es más precisa para saber el tiempo transcurrido.
Puede que interese leer el siguiente artículo de I. Marteens:
http://www.marteens.com/trick4c.htm
Saludos