我的公司有一个大问题。我们在 Delphi.NET 中开发了一个包含超过 1.000.000 行代码的应用程序。因此,我们只能使用 Delphi 2007 和 .NET 2.0。
随着技术和用例的发展,我们需要迁移到另一个开发平台。到目前为止,我们尝试了几种 promise 将 Delphi.NET 转换为 C# 代码的工具 - 每个工具都有几个问题,例如错误的字符串索引 (Delphi 1 C# 0) 或何时使用类型来声明数组边界。
采用这种方法后,我们尝试反编译 Delphi.NET 程序集 - 从中返回的代码几乎不可读,并且有数百个调用 Borland 特定程序集的辅助函数。我已经考虑过自己编写一个转译器的可能性,但是 Delphi 的歧义语法很难用直接的语法来实现。
那么现在的大问题是,是否还有不包括手动翻译所有代码的可能性?或者可能是允许部分和逐步迁移的迁移路径?
最佳答案
查看以下工具: http://www.9rays.net/TourStep.aspx?TourStepID=21
虽然它可能不像通过它运行整个 Delphi 应用程序并获得 C# 源代码那么简单,但这些类型的 IL 翻译器/反编译器非常准确。我的建议是运行一些组件并进行回归测试以抽查准确性。您很有可能必须对生成的代码进行一些补救,但这比重写整个应用程序要好。
另外:查看 http://blogs.msdn.com/b/danielfe/archive/2004/06/15/156087.aspx
关于c# - 坚持使用 Delphi.NET 和 Delphi 2007,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24373723/