Ver Mensaje Individual
  #3  
Antiguo 14-06-2017
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Reputación: 20
ElKurgan Va camino a la fama
Bueno, perdón por el retraso en contestar, pero no he podido ponerme a ello antes.

Al final el error se produce por una cosa muy tonta:

En Delphi XE2, dentro de la función "StringToVariantArray" del archivo "Datasnap.xmlxform.pas" venía esta línea:

Código Delphi [-]
  Move(M.AsAnsi(S).ToPointer^, PByte(LArray)^, Len);
... Pero en la versión de Delphi XE7 viene así:

Código Delphi [-]
  Move(M.AsUtf8(S).ToPointer^, PByte(LArray)^, Len);
En fin, es posible que efectivamente el XML a parsear no sea un utf-8 válido, pero copiando el archivo pas dentro de los fuentes del proyecto y dejando la función anterior de esta forma funciona:

Código Delphi [-]
//  Move(M.AsUtf8(S).ToPointer^, PByte(LArray)^, Len);
  Move(M.AsAnsi(S).ToPointer^, PByte(LArray)^, Len);   // Apaño en XE7
En fin, gracias por todo, y espero que esta solución le sirva a alguien también.

El tema puede darse por cerrado

Saludos
Responder Con Cita