Escrito 08 marzo 2010 - 08:06
Hola.
Yo también solo conozco esta forma de acceder a la hora del Servidor.
Por lo que os propongo una alternativa, a ver que os parece. Cuando arranca la aplicación lanzas esa consulta, y compruebas la diferencia horaria entre el ordenador y el servidor. Ese valor lo dejas en una variable ("Desfase").
Ahora cada vez que quieras mostrar la hora, en lugar de mostrar la hora del Ordenador, muestras la Hora + Desfase.
Por cierto, si la hora la estás mostrando mediante un componente como el RxClock de las RxLib, puedes utilizar eventos como el OnGetTime para incrementar el Desfase a la hora a mostrar.
Naturalmente si la aplicación va a estar encendida muchos días seguidos, al final volveremos a tener problemas de sincronización. Si la aplicación se cierra cada día por la noche y se vuelve a arrancar por la mañana, yo no creo que debas preocuparte, la diferencia horaria que puedas acumular en un solo día es muy pequeña. Si por el contrario, la aplicación no se reinicia periódicamente, entonces puedes añadir un Timer para que, pongamos cada 4 horas, actualice la variable "Desfase" con el valor actual. Siempre será mejor lanzar esa consulta cada 4 horas (o cada hora, cada cuarto de hora, .... cada cuando quieras) que no lanzarla cada vez que quieras mostrar y actualizar el reloj.
Saludos.