Hola, primero te recomiendo que utilices otro método para medir el tiempo, ya que el TTimer es muy impreciso y con tiempos tan largos peor todavia..
En
Torry podés encontrar varios Timer más precisos.
Otra opción es utilizar la API
GetTickCount, documentada
acá. Esta función te devuelve la cantidad de tiempo (en milisegundos) que hace que la computadora esta encendida.
Cuando iniciás el proceso guardas el valor que te devuelve GetTickCount y con un TTimer común (con un intervalo menor a 1 segundo) vas comparando el valor que te da GetTickCount con el de la variable y luego haces los cálculos y actualizás los labels.
Cita:
Empezado por Bauhaus1975
el problema es cuando se llama al proceso principal que se apodera de la ejecución y el contador ¡no funciona!
|
Para solucionar esto tenés que "encerrar" el proceso en un TThread. En la ayuda de Delphi está bien documentada la clase y el buscador de los foros tambien te va a ser de gran ayuda.
EDITO: En lugar de usar un Thread, proba añadiendo Application.ProcessMessages en el proceso.
Bytes!!