用.NET读取Delphi TClientDataset文件

时间:2011-04-30 20:10:54

标签: .net delphi tclientdataset

我需要读取使用.NET代码从Delphi中使用TClientDataset类编写的文件。提到的解决方案here对我不起作用。

3 个答案:

答案 0 :(得分:3)

“不在Windows平台上运行的dotNet程序”对我来说意味着您正在部署Mono应用程序。可能在Linux上,如果是这样,请尝试WINE并查看Delph app suggested above是否按预期工作。如果是的话,你离开dotnet应用程序机器的问题就解决了,因为它们都可以在没有网络通信的情况下在同一硬件上运行。

编辑:由于OP现在指定他使用的是MonoDroid和Monotouch,因此不能使用Wine-剩下的选项是:

  • 反向设计格式(首先咨询律师以保护自己免受伤害)
  • 向Embarcadero询问文件的定义(我不太喜欢)
  • 修改Delphi / C ++应用程序以导出XML格式的文件
  • 创建一个Delphi应用程序来预处理这些* .cds并将它们导出到XML,然后再将它们发送到iOS / Android机器。

在四种选择中,第四种可能是最快的 - 最好的是第三种。

第一个可以让你陷入困境,因为世界各地针对rev工程师的所有法律(在美国,我听说DMCA非常严厉 - 但IANAL甚至不是美国公民)。

第二个是赌注。

答案 1 :(得分:0)

您需要使用Delphi编写一个小应用程序来读取cds文件并将其内容写入您可以从.Net读取的文件(您选择适当的格式)。您可以下载Delphi的免费试用版。您可以在单独的PC上开发应用程序。您可以将输入* .cds文件从有问题的平台ftp到这个新应用程序所在的pc。然后运行应用程序并将新创建的输出文件ftp到有问题的平台,然后用.Net读取它。

您可以使用ftp将文件从一个平台移动到另一个平台。如果你需要在另一个平台上使用(或即将制作!)一个很好的工具,没有理由将自己锁定在一个平台上。 : - )

答案 2 :(得分:0)

实际上,原始cds二进制格式在Hejlsberg / Hansen提交的相应美国专利中得到了相当广泛的记载。我必须承认,后来borland用一些额外的功能(例如嵌套数据集支持)扩展了它,但基本上它仍然是完全相同的格式,并且在midas源代码中很少挖掘(他们在2010年发布了它)可以构建自己的解析器我做了