我维护着一个用 Delphi 7 编写的旧的仅限 PC 的应用程序。尽管 Delphi 在过去为我提供了很好的服务,但我现在只将它用于这个应用程序,并且发现我的语言技能正在下降。它的语法与我的“日常工作”语言 Java/Ruby 差别太大,所以我需要更长的时间才能开始编写新代码,而且它太旧了,我没有使用过很多接口(interface)所以代码不受管理,这对我来说似乎很古老!
我的许多用户正在迁移到 Vista,这可能会在兼容模式下运行应用程序,或者可能会出现 GPF 问题,具体取决于 IT 部门如何配置他们的 PC,因此我必须对应用程序进行一些维护。我想知道我是否应该跳到一个更熟悉的堆栈。
是否有一个自动化工具可以完成将代码库转换为 C# 的工作,让我专注于任何非标准组件的转换?我正在使用一个名为 AbsoluteDatabase 的嵌入式数据库组件它与 BDE 兼容并始终使用标准 SQL,还有一个原生的 Delphi HTML 浏览器组件,可以与 Microsoft 世界的某些东西交换。
这些转换工具有多好?
最佳答案
我不知道有任何自动化工具可以进行这种转换。我个人建议您坚持使用 Delphi,也许只是升级到新版本。我见过一些尝试从 Delphi 转换为 C# 的 DOM 代码,但这并没有解决库问题。
CodeGear(正式名称为 Borland)有一个用于 going from C# to Delphi 的工具那行得通。我假设其他方向的工具将工作相同(需要大量编辑)。这是一个瑞典语工具,其工作原理与来自 Delphi to C# 的 CodeDOM 原理相同。 (以及许多其他语言)。还有其他的,我现在找不到。
另一种选择是升级到更新版本的 Delphi for .NET 并以这种方式将您的代码移植到 .NET。一旦你让它在 Delphi for .NET 中工作(这将非常容易,除了嵌入式数据库,除非它们有 .NET 版本)你可以使用 .NET Reflector和 File Disassembler将 IL 反转为 C#。您仍将使用 VCL,但可以使用 C# 而不是 Object pascal。