【问题标题】:Conversion of Delphi code to Java [closed]将 Delphi 代码转换为 Java [关闭]
【发布时间】:2009-09-30 07:45:21
【问题描述】:

Delphi 是否有一个解析器可以用来将 Delphi 代码自动转换为 Java 代码?

【问题讨论】:

  • 我强烈怀疑。也许是一个为 JVM 编译 Delphi 代码的编译器,以及一个实现 Java 标准库的包装器的库。
  • 看看 Remobjects Oxygene en.wikipedia.org/wiki/Oxygene_%28programming_language%29 最新版本允许将 Pascal 代码编译成 Java 字节码。
  • 是的,但是 Oxygene 并不完全是 Delphi,并且没有 Delphi RTL、VCL 或 FireMonkey,也没有任何使用过的 Delphi 库等。任何超出最琐碎的东西都不会轻易翻译。使用 Oxygene 重写所有 Delphi 代码以使其编译为 Java 字节码可能与直接将其重写为 Java 一样多。

标签: java delphi delphi-2009 code-conversion


【解决方案1】:

我不知道有这样的转换器,但请记住,这样的转换只能让你走这么远。

例如,Visual Studio 附带了一个 Java 到 C# 的转换。它做得很好,但是根据我的经验,除了最微不足道的例子之外,你仍然需要自己做很多清理/重构。此外,原始语言中的错误代码通常会被转换为新语言中同样糟糕或可能更糟糕的代码。所以代码将很难维护。

关键是没有免费的午餐。即使使用转换器,您也很可能需要自己进行大量移植。如果这是不可能的(由于时间、金钱等原因),您可能必须重新考虑该项目。

很抱歉,我无法为您指出一个有用的工具(希望其他人会),但我已经看过这些项目几次,人们通常对转换后所需的清理工作感到惊讶。

【讨论】:

  • 我知道一个成功的产品,有人认为应该使用另一种语言,所以他们自动翻译了它。工作得很好,直到有人想添加一个新功能,而没有人知道代码现在是如何工作的。他们在重新编写时损失了一年。
【解决方案2】:

我能想到的最佳解决方案是:找一个 Java 开发人员并进行一些极限编程(你:阅读 Delphi 源代码并向他解释它应该做什么 - 他:用 Java 写下来)

因为即使您找到了 Delphi-to-Java 转换器 - 它也可能产生错误的源代码。

【讨论】:

    【解决方案3】:

    Free Pascal 支持 Java 虚拟机 (JVM) 的编译:

    Java-bytecode target added to the Free Pascal compiler.

    Free Pascal 编译器中添加了一个新目标。就是现在 可以将应用程序编译为 Java 字节码。这意味着 这些 Free Pascal 应用程序可以在 Java 虚拟机中运行 (JVM),以便它可以在任何支持 Java 的平台上运行。

    但是,这个目标只支持基本的 Pascal 语言和系统单元的一些功能。

    【讨论】:

      【解决方案4】:

      之前有一个叫Delphi2J的程序可以转换,但是找不到下载链接。

      另一种方式:

      1. 尝试使用Delphi2CS将Delphi代码转换为C#代码
      2. 然后用VB & C# to Java Converter有demo,没试过。

      【讨论】:

      • 我在一个没有 GUI 的应用程序上进行了测试,可以确认 Delphi2CS 运行良好,并且生成的 C# 代码很容易转换为 Java,甚至手动转换。谢谢!
      猜你喜欢
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多