c# - 坚持使用 Delphi.NET 和 Delphi 2007

标签 c# .net delphi delphi-2007 delphi.net

我的公司有一个大问题。我们在 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/

相关文章:

android - 如何指定我的应用程序的主屏幕图标标题?

c# - 无法将图像上传到 SharePoint 列表

c# - MySQL 查询从组合框中选择

c# - 为递归方法生成 IL

java - 用于拆分数据行的 String.split 无法正常工作

windows - JumpList 到 Delphi 上所有打开的表单

delphi - 在Delphi中使用 "System.SysUtils"或 "SysUtils"?

C# - 接口(interface)不能包含运算符

C# 遍历类属性

c# - 在 asp.net mvc 中保存下拉列表中的选定项目