Obtener hora del servidor


(javig) #1

Hola,
necesitaba saber si existe alguna función o instrucción que me permita obtener la fecha y hora del servidor donde tengo alojadas las aplicaciones V7 y no la local de mi ordenador (obtenida con 'currentDate' o 'getSysDateFormat').

Un saludo y muchas gracias
Javi.


([N1] agsgallardo) #2

Crea un proceso que alimente una variable global time con el current time. Luego lo ejecutas en 3ª plano y solucionado. Tambien te valdrá para fechas y demás. Nosotros solemos alimentar la fecha desde el marco principal y es con esa fecha como establecemos el current Date. No sería la primera vez que un usuario cambia la fecha de su windows y luego la aplicación va loca en cuanto creas documentos...

Un Saludo

David (SysOasi)


(javig) #3

Ya lo tengo así. Si lo ejecuto en tercer plano, me devuelve cero. ¿Alguna otra opción?

Un saludo


([N1] Rafael) #4

Hola Javi,

me imagino es que lo que está pasando es que cuando asignas el valor a la variable global en el servidor ésta pierde su valor en el cliente (primer plano). Prueba a crear mejor una función en la caja de datos que te devuelva el valor directamente mediante una llamada en la caja de aplicación.

Saludos
Miguel Delgado.


(javig) #5

Ya hemos probado de ambas formas y nada. Me podríais poner un ejemplo??

Muchas gracias y un saludo.


([N1] agsgallardo) #6

Si que funciona....
1º crea un proceso llamado time_server. En este proceso solo hay una linea dónde le establecemos a una variable local (tipo hora) la hora local. (set variable, currentTime())
2ºCreamos otro procese Time en el creamos un manejador de objeto (hora) con el proceso time_server como objeto. Lo disparamos en 3ªplano y obtenemos el valor de la variable local con un get variable local del objeto.

De este modo tenemos el valor de la hora del servido en una variable local dentro de un proceso ejecutado en 1º plano. (Para este caso yo no usaria variables globales)

Espero te sirva, un Saludo

David Gallardo (SysOasi)