FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Errores en XmlTransformProvider
Saludos a todos
En el trabajo tenemos un curioso problema con los archivos XML cargados mediante un XmlTransform de Delphi XE7. Somos varias personas trabajando con la misma versión de Delphi y en el mismo proyecto, pero para acotar el problema, supongamos que sólo hay dos, el ordenador "A" y el ordenador "B". El programa es muy simple, sólo carga un XML a través de un archivo ".xtr" de transformación a un ClientDataset y se muestran los datos en un DBGrid. Sin tocar el archivo XTR para nada, cuando compilamos el visor, dependiendo del ordenador, unas veces muestra los caracteres acentuados y las "ñ" correctamente y otras no. Se trata de un problema sólo al compilar, porque si se compila (por ejemplo) desde el ordenador A, el ordenador B ve en el ejecutable los caracteres acentuados. Sin embargo, si se compila desde el ordenador B ninguno ve los datos correctamente. Lo gracioso es que todos tenemos la misma versión de Delphi (XE7), y la misma configuración regional de Windows (Windows 10). ¿A que puede deberse este problema? Saludos |
#2
|
||||
|
||||
¿Han revisado los archivos XML generados antes de cargarlos?.. evidentemente parece ser un problema con la codificación dle archivo generado.. uno de ellos debe ser generado con condificación ANSI y el otro con UTF8 (por ejemplo).
No he trabajado el componente que mencionas pero se que tiene una propiedad ENCODING, con la cual puedes controlar o forzar la codificación. A mi me sucedia algo parecido importando y exportando archivos con un TStringList y lo resolví trabajando con ésta propiedad.... Espero que te sirva... igual nos cuentas |
#3
|
||||
|
||||
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: ... Pero en la versión de Delphi XE7 viene así: 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: En fin, gracias por todo, y espero que esta solución le sirva a alguien también. El tema puede darse por cerrado Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error catastrófico con XMLTransformProvider y ClientDataset | victortera | Providers | 3 | 18-03-2014 16:52:25 |
Error usando ClientDataSet y XMLTransformProvider - ...must have a top level element | lmpadron | C++ Builder | 1 | 09-04-2012 21:32:42 |
Persistir XML con XMLTransformProvider | bataola | Providers | 0 | 26-07-2007 18:44:39 |
Errores Delphi 5 | sur-se | OOP | 2 | 09-05-2005 11:28:51 |
|