用.NET读取 Delphi TClientDataset文件

1tuwyuhd  于 2022-12-23  发布在  .NET
关注(0)|答案(3)|浏览(128)

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

noj0wjuj

noj0wjuj1#

  • “A dotNet program that not run on Windows platform”* 对我来说意味着您正在部署Mono应用程序。可能在Linux上,如果是这种情况,请尝试WINE,看看上面建议的Delph应用程序是否按预期工作。如果是,您离开dotnet应用程序计算机的问题就解决了,因为两者将在同一硬件上运行,无需通过网络通信。

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

  • 对格式进行反向工程(首先咨询律师,以保护自己免受伤害)
  • 向Embarcadero询问文件的定义(我对此不抱太大希望)
  • 修改 Delphi /C++应用程序以导出XML格式的文件
  • 创建一个 Delphi 应用程序来预处理这些 *.cds,并在将它们发送到iOS / Android机器之前将它们导出为XML。

在这四种选择中,第四种可能是最快的--最好的是第三种。
第一个可以让你陷入麻烦,因为所有这些法律对rev工程师在世界各地(在美国有DMCA,我听说是非常严厉的-但IANAL,甚至不是美国公民)。
第二个是打赌。

q3aa0525

q3aa05252#

您需要使用 Delphi 编写一个小应用程序来读取cds文件并将其内容写入一个可以从.Net读取的文件(你选择合适的格式)。你可以下载免费试用版的 Delphi 。你可以在单独的PC上开发应用程序。你可以将输入的 *.cds文件从你有问题的平台FTP到这个新应用程序将驻留的PC上。然后运行该应用程序,将新创建的输出文件通过ftp传输到有问题的平台,然后使用. Net读取该文件。
你可以用ftp把文件从一个平台转移到另一个平台。如果你需要在另一个平台上使用(或即将制作!)一个很好的工具,没有理由把自己锁定在一个平台上。

a1o7rhls

a1o7rhls3#

实际上,原始的cds二进制格式在Hejlsberg/汉森申请的相应美国专利中有相当广泛的记录。我必须承认,后来borland扩展了它,增加了一些额外的功能(如嵌套数据集支持),但基本上它仍然是非常相同的格式,并在midas源代码中进行了少量挖掘(他们在d2010年发布了它),人们可以像我一样构建自己的解析器

相关问题