Ver Mensaje Individual
  #19  
Antiguo 10-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 21
andres1569 Va por buen camino
Hola:

Guillotmarc, la idea que propones es elegante pero tiene un inconveniente si decidimos utilizar lo de los Hooks:

Las funciones callback que pasamos al Hook no son funciones de objetos, sino funciones "sueltas", por lo que no sé cómo en el cuerpo de estas funciones podríamos acceder a los TTimers (podríamos acceder a ellos mediante la expresión Form1.Timer.Enabled := FALSE, es decir referenciando la variable Form1, pero esto puede ser algo peligroso). Aunque a decir verdad las funciones Hooks siempre irán en el Form principal o en el DataModule principal, que normalmente estará activo durante toda la vida del programa, pero se debe tener en cuenta esa cuestión.

De todas formas, el llamar a GetTickCount creo que es más eficiente que poner Timer1.Enabled := FALSE y luego TRUE, puesto que al hacer esto se mata el Timer (KillTimer) y luego se vuelve a reservar. Esto quizás sea más lento. Ten en cuenta que si se está escribiendo o moviendo el ratón continuamente se estará ejecutando ese código repetidamente.

En realidad, si queremos aplicar un tiempo de espera de más de un cuarto de hora, por ejemplo, el Timer lo podemos poner a un intervalo de 1 minuto (60000) y no repercutirá mucho en la marcha de la aplicación.
__________________
Guía de Estilo
Responder Con Cita