Lo que si determino Enrico, es que es únicamente con xharbour y en 64 bits, por eso la necesidad de migrar.
El post del error en las operaciones, por si alguien quiere consultarlo.
https://forums.fivetechsupport.com/view ... hp?t=45315
Por otro lado, ya logramos compilar la aplicación, pero hay varias cosas que no logramos hacer funcionar, en este post vamos a reportar el problema con la libcurl, montamos este ejemplo para ver si alguien nos puede ayudar, tampoco sabemos si hace falta agregar alguna lib o dll.
El codigo:
Code: Select all | Expand
#include "FiveWin.ch"
#include "hbcurl.ch"
function Main()
recuperainfo() //Con el este código funciona, lo montamos para comprobar que el endpoint está funcionando.
recuperainfocurl() //Pero con curl no arranca.
return nil
Function recuperainfo()
Local aHasRes
Local hInfo := {=>}
Local response := nil
Local cUrl := "https://hymplus.com/factura/ws_msvc.php"
Local cAno := transform(year(date()),"9999")
IF !IsInternet()
msginfo("No Se Pudo Comprobar La Conexión a Internet")
ELSE
user := "hymlymatest"
pass := "HymTestLeo" //TEMPORAL
cBas64 := hb_base64encode(user+":"+pass,len(user+":"+pass))
//NIT DEL AUTORIZADO
hInfo["ano"] = cAno
hInfo["usua"] := user
hInfo["pass"] := pass
enviar := hb_jsonEncode( hInfo )
ohttp := CreateObject( "MSXML2.XMLHTTP" )
ohttp:Open( "POST" ,cUrl,.F.)
oHttp:SetRequestHeader("cache-control", "no-cache")
ohttp:SetRequestHeader("content-type", "application/json" )
ohttp:SetRequestHeader("authorization", "Basic "+cBas64 )
TRY
ohttp:Send(enviar)
CATCH
msginfo("No Se Pudo Enviar Solicitud")
END
response := ohttp:responseText
if valtype(response)!="U"
aHasRes := hash()
hb_jsondecode(response ,@aHasRes)
if valtype(aHasRes)="U"
aHasRes := {=>}
endif
else
msginfo("Respuesa del servidor no valida")
endif
xbrowse(aHasRes,"SIN CURL")
ENDIF
return nil
Function recuperainfocurl()
Local aHasRes,enviar,oCurl
Local hInfo := {=>}
Local response := nil
Local cUrl := "https://hymplus.com/factura/ws_msvc.php"
Local cAno := transform(year(date()),"9999")
Local aHeader := {}
IF !IsInternet()
msginfo("No Se Pudo Comprobar La Conexión a Internet")
ELSE
user := "hymlymatest"
pass := "HymTestLeo" //TEMPORAL
cBas64 := hb_base64encode(user+":"+pass,len(user+":"+pass))
AADD(aHeader,"Authorization: Basic "+cBas64 )
AADD(aHeader,"Content-Type: application/json")
AADD(aHeader,"cache-control: no-cache")
//NIT DEL AUTORIZADO
hInfo["ano"] = cAno
hInfo["usua"] := user
hInfo["pass"] := pass
enviar := hb_jsonEncode( hInfo )
oCurl = curl_easy_init()
IF !EMPTY( cUrl )
curl_easy_setopt( oCurl, HB_CURLOPT_URL, cUrl )
curl_easy_setopt( oCurl, HB_CURLOPT_DL_BUFF_SETUP )
curl_easy_setopt( oCurl, HB_CURLOPT_SSL_VERIFYPEER, 0 )
curl_easy_setopt( oCurl, HB_CURLOPT_POSTFIELDS, enviar )
curl_easy_setopt( oCurl, HB_CURLOPT_CUSTOMREQUEST , "POST")
curl_easy_setopt( oCurl, HB_CURLOPT_HTTPHEADER, aHeader )
IF CURL_EASY_PERFORM( oCurl ) == 0
response = curl_easy_dl_buff_get( oCurl )
ENDIF
curl_easy_cleanup( oCurl )
ENDIF
aHasRes := hash()
hb_jsondecode(response ,@aHasRes)
if valtype(aHasRes)="U"
aHasRes := {=>}
endif
xbrowse(aHasRes,"USANDO LA CURL")
ENDIF
return nil
La carpeta con los archivos con los que generamos el ejecutable
https://hymplus.com/descargas/cmplar_test_64.zip
Gracias de antemano