Pregunta

Necesito leer archivos escritos con la clase TClientDataSet de Delphi con el código .NET. La solución mencionada aquí no funciona para mí.

¿Fue útil?

Solución

"Un programa Dotnet que no se ejecuta en la plataforma de Windows" para mí significa que está implementando una aplicación mono. Posiblemente en Linux, si ese es el caso, pruebe el vino y vea si el Aplicación Delph sugerida anteriormente funciona como se esperaba. En caso afirmativo, su problema de dejar la máquina de aplicaciones de Dotnet se resuelve, ya que ambos se ejecutarán en el mismo hardware sin comunicación a través de la red.

Editar: dado que el OP ahora especificó que está usando Monodroid y Monotouch, y por lo tanto no puede usar el vino, las opciones restantes son:

  • Invierta ingeniería del formato (consulte primero a un abogado para protegerse del daño)
  • Pregunte a Embarcadero una definición del archivo (no tengo mucha esperanza)
  • Modifique la aplicación Delphi/C ++ para exportar los archivos en XML
  • Cree una aplicación Delphi para preprocesar aquellos *.cds y exportarlos a XML antes de enviarlos a la máquina iOS / Android.

De las cuatro alternativas, la cuarta es posiblemente la más rápida: la mejor es la tercera.

El primero puede meterte en problemas debido a todas esas leyes contra el ingeniero revelador de todo el mundo (en EE. UU. Hay DMCA que escuché que es muy draconiano, pero Ianal y ni siquiera un ciudadano estadounidense).

El segundo es una apuesta.

Otros consejos

Debe usar Delphi para escribir una pequeña aplicación para leer el archivo CDS y escribir su contenido en un archivo que puede leer desde .NET (elige el formato apropiado). Puede descargar versiones de prueba gratuita de Delphi. Puede desarrollar la aplicación en una PC separada. Puede FTP el archivo de entrada *.cds desde su plataforma problemática a la PC donde residirá esta nueva aplicación. Luego ejecuta la aplicación y FTP el archivo de salida recién creado en su plataforma problemática, luego lea con .NET.

Puede mover archivos de una plataforma a otra con FTP. No hay razón para encerrarte en una plataforma si hay una buena herramienta que necesitas usar (¡o a punto de hacer!) En otra plataforma. :-)

En realidad, el formato binario CDS original está documentado bastante ampliamente en la patente estadounidense correspondiente presentada por Hejlsberg/Hansen. Debo admitir que más tarde Borland lo extendió con pocas características adicionales (como el soporte de conjuntos de datos anidados), pero básicamente sigue siendo el mismo formato y con poca excavación en las fuentes de Midas (lo devolvieron en D2010) se puede construir su propio analizador como Hice

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top