我们希望从Delphi 7.0迁移到Delphi 2009,以跟上现代IDE和当前技术的步伐。我们的目标平台是.NET。最好的方法是什么,以实现这个目标?
我们希望从Delphi 7.0迁移到Delphi 2009,以跟上现代IDE和当前技术的步伐。我们的目标平台是.NET。最好的方法是什么,以实现这个目标?
我会考虑从D2007到D2009引入的字符串处理中涉及的Unicode情况 - 这个步骤所涉及的更改可能会对您的应用程序产生很大影响(只有您自己可以判断)。此外,您需要考虑您正在使用什么第三方工具/库/组件。并非所有内容都已经跳到D2009上了,一些不太流行的组件可能永远不会跳过来。
一个更明智的选择可能是将D7迁移到D2007(这是一条经常走过的路,几乎没有痛苦,并且有很多胜利和值得的改进)。然后,您就可以在现代、稳定、相当新的、受支持的Delphi平台上更好地评估跳转到.Net的可能性。
不过,我的个人观点与其他评论中的一些观点相同 - 除非您从.Net获得了某些重大优势,否则我不明白为什么要离开Delphi。随着各种运行时和服务包的现代要求,我认为Delphi正变得越来越成为Win32开发的一个越来越可行、相关的工具。要么从D7到D2007/D2009演变,要么直接从D7跳到.Net;先这样做再那样做似乎有点奇怪!
Delphi 2009 只支持 Win32。如果您想使用 .NET,可以使用带有 Delphi 个性化设置的RAD Studio 2007,并且将简单的 VCL 应用程序移植到针对 .NET 2.0 框架的 VCL.NET 中应该相当容易。然而,如果您使用任何第三方组件和库,则需要检查它们是否有适用于 .NET 的替代品。
如果您觉得这样做太麻烦或者想要针对最新的 .NET 框架,那么最好从头开始使用 Microsoft 的 Visual Studio 和 C# 重写项目。
免责声明:我没有将 Delphi Win32 项目移植到 .NET 的经验,所以这只是我的个人意见。
移植从来都不是一件容易的事情。然而,Delphi和.NET之间的语义非常接近,因为它们都有Anders Hejlsberg作为首席架构师。您很可能需要将Win32 VCL调用替换为它们等效的VCL.NET内容。
您可能想升级到CodeGear RAD Studio,因为这将让您拥有一个IDE,可同时支持Delphi和.NET语言(主要是C#)。
在从一种技术转移到另一种技术时,很多时候我能够放置控件替换。例如,我能够用其ADO.NET替代品替换BDE数据库控件,而无需真正更改代码。最终,您拥有代码,并且比我们任何人都更了解它。
当您已经有很好的Win32可执行文件支持时,为什么要针对.NET框架进行目标定位呢?Delphi已经是行业的一个小部分,而带有.NET的Delphi甚至更小。Delphi在.NET世界中永远只会是二等公民。Delphi已经是一流的Win32公民。
继Giacomo的上面的回答之后,如果您正在使用BDE,则我可以建议MicroOlap的DAC http://www.microolap.com/ - 这将节省您大量时间,不需要将代码转换为其他语言。我正在使用PostgresDAC,这个产品非常稳定和快速。