Tengo el siguiente código que pretende conectar a un servidor externo para sincronizar la hora y fecha con el ordenador, pero por alguna razón la función ExecuteSynchronization() siempre devuelve una cadena vacia. Teniendo en cuenta que las claves están comprobadas y junto con las funciones correspondientes funcionan correctamente en otros lenguajes, sospecho que la funcion de Login no está trabajando correctamente.
No hay errores de compilación ni mensajes de error en ejecución.
¿Alguien que haya usado estas funciones antes sabe que estoy haciendo mal?
Code: Select all | Expand
FUNCTION main()
local usuario := 'usuario'
local clave := 'clave'
local nserie := 'DEMO'
local Servidor:= 'url.com'
nLib := LoadLibrary("SEMAPI.DLL") // => variable estatica
if SetLoginParamsAPI(usuario, clave, nserie, Servidor, 0) > 0 // inicialización => siempre devuelve 1
// Ejemplo de sincronización
SetTimeZoneSynchronization('Europe/Madrid') // => no devuelve nada
if ExecuteSynchronization() = 'OK' // => MAL porque siempre devuelve una cadena vacia
MsgInfo('Fecha y hora del servidor (AAAAMMDDhhmmss): ' + GetDateTime())
endif
FreeLibrary(nLib)
return nil
****************************************************************************************
**declaración de funciones de la dll**********************************************
****************************************************************************************
DLL FUNCTION SetLoginParamsAPI( @AUserName AS LPSTR,;
@APassword AS LPSTR,;
@ALicense AS LPSTR,;
@AHost AS LPSTR,;
Aport AS LONG ) AS LONG PASCAL FROM "SetLoginParamsAPI" LIB nLib
DLL FUNCTION SetTimeZoneSynchronization( ATimeZone AS LPSTR ) AS LONG PASCAL FROM "SetTimeZoneSynchronization" LIB nLib
DLL FUNCTION ExecuteSynchronization() AS LPSTR PASCAL FROM "ExecuteSynchronization" LIB nLib
DLL FUNCTION GetDateTime() AS LPSTR PASCAL FROM "GetDateTime" LIB nLib
gracias por vuestra ayuda
![Shocked :shock:](./images/smilies/icon_eek.gif)