代码之家  ›  专栏  ›  技术社区  ›  ChaosSpeeder

有没有一种简单的方法,将Delphi 2009中的Win32应用程序移植到.NET?

  •  3
  • ChaosSpeeder  · 技术社区  · 17 年前

    我们希望从Delphi7.0迁移到Delphi2009,以跟上现代IDE和当前技术的发展。我们的目标平台是.NET。实现这一目标的最佳方式是什么?

    6 回复  |  直到 15 年前
        1
  •  3
  •   robsoft    17 年前

    我将带上从D2007到D2009的字符串处理的Unicode情况——这一步中涉及的更改可能会对您的应用程序产生很大影响(只有您可以知道这一点)。此外,您还需要考虑使用的第三方工具/库/组件。并不是所有的东西都能跳转到D2009,而且一些不太流行的组件可能根本不会跳转。

    一条更明智的道路可能是 将D7迁移到D2007 (这是一条走得很好的道路,基本上没有痛苦,有很多胜利和值得改进的地方)。然后,您就进入了一个现代化、稳定、最新、受支持的Delphi平台,您可以从该平台更好地评估跳转到.Net的过程。

    越来越多地 可行的 相关的 Win32开发工具。 要么将代码从D7进化到D2007/D2009,要么从D7跳到.Net;一个接一个似乎有点奇怪!

        2
  •  3
  •   Giacomo Degli Esposti    17 年前

    请记住,D2009是win32版本,而不是.net。我想您需要创建一个两步路径,首先移动到D2009,然后移动到.net?

    如果应用程序使用BDE访问数据库,则将其转换为使用其他技术,如ADO或DBX。

    如果使用第三方组件,请确保D2009和/或.NET存在版本

    一个非常微妙的方面是字符串处理。如果你“正常”使用字符串,你应该不会有什么大问题,但是如果你像在C语言中那样使用字符串作为“字节缓冲区”,那么你必须小心并尝试重写这些部分。经验法则是“尝试去除代码中的所有PChar”。

        3
  •  2
  •   rik rik    17 年前

    从Delphi7迁移到Delphi2009可能是直截了当的,只有一些小的变化(比如最近讨论的从ANSI到Unicode字符串的迁移)。 不过,向.NET的迁移并不那么直接。尽管有一个VCL.NET使迁移gui成为可能,但其他一些事情都不起作用。因此,您可能会考虑使用Win32代码和.NET代码,通过COM将它们结合在一起。 (我希望您已经了解COM,否则这可能不是一个选项;-))

        4
  •  2
  •   Ondrej Kelle    17 年前

    Delphi 2009 对于.NET,您可以使用 RAD Studio 2007 它与Delphi personality for.NET一起提供,将一个简单的VCL应用程序移植到针对.NET2.0框架的VCL.NET应该相当容易。但是,如果您使用任何第三方组件和库,您也必须检查它们的.NET替代品。

    免责声明:我没有将Delphi Win32项目移植到.NET的经验,所以这只是我的拙见。

        5
  •  1
  •   Hector Sosa Jr    17 年前

    移植从来都不容易。然而,Delphi和.NET之间的语义非常接近,因为它们都有Anders Hejlsberg作为首席架构师。您很可能需要将Win32 VCL调用替换为等效的VCL.NET调用。

    您可能需要升级到CodeGear RAD Studio,因为这样可以为Delphi和.NET语言(主要是C#)提供一个IDE。

    当您对Win32可执行文件有很好的支持时,为什么要以.NET framework为目标?Delphi已经是该行业的一小部分,而Delphi与.NET的结合则更小。德尔福将永远是.NET世界的二等公民。Delphi已经是一流的Win32公民。

        6
  •  1
  •   Johan Bresler    17 年前