将Delphi 7应用程序迁移到.NET

Ash*_*Ash 7 .net migration delphi

关于如何在Visual Studio 2005中将现有Delphi 7业务应用程序迁移到.NET 2.0的任何建议?

Visual Studio 2005已经被购买,该公司希望摆脱Borland/Codegear工具.

该应用程序是单个客户端服务器可执行文件,利用许多第三方UI控件和Crystal报表10进行报告.

UI中的Delphi类型以及许多SQL Server 2000存储过程都有广泛的业务逻辑.将大部分存储过程逻辑移动到.NET类是另一个目标.

为了减少对客户的影响,如果可能的话,首选一种方法而不是完全重写/转换.提前致谢.

[更新]有没有人使用托管VCL进行此类场景的经验,好,坏或丑陋?

Jos*_*ons 9

这听起来对我来说真是个糟糕的主意.

您的产品在.NET中是否有任何技术优势,或者主要是作为微软商店的政治决定?对于客户端 - 服务器,Delphi非常难以击败.我已经使用过VS2005/8,它真的非常真实,真诚地不如Delphi for Win32开发.但是,如果你要在网上迁移到网络,那么VS有一定的优势.

如果顽固的商业人士只是拒绝使用Delphi,那么KiwiBastard是正确的,IMO.首先转换为Delphi.NET,然后从那里迁移到VS2005.或者2010年,因为这是一个更现实的时间表:)


Jas*_*son 8

我在一家从Delphi迁移到WPF/.Net大约2007年的公司工作过.我们尝试了一个接一个的方法.这很痛苦.我们总是在互操作中遇到微妙的错误.从Delphi调用WPF或Winforms并返回是很痛苦的.如果你的应用程序的各种UI控件和窗口相互调用很多,我认为你会遇到很大的成长痛苦.

如果你有能力立刻完成整个转换,我会去做.如果没有,请拆分应用程序中独立的部分或与应用程序其余部分进行最少交互的部分.

我还建议你跳进.Net 2008.为什么你选择了近4年的技术(VS 2005)?我认为,当.Net 3.5非常稳定时,选择跳入.Net 2.0是一个非常非常糟糕的商业决策.我将向管理层提供.Net 2.0的唯一正当理由是支持Windows 2000.你还有Win2k的客户吗?转换完成后,您是否还会在Win2k上拥有客户?您是否有无法迁移到XP或Vista的客户?Win2k不支持.Net 3.0和3.5.这是我能想到的唯一缺点.

.Net 3.5和C#2008为贵公司提供了显着的优势.与C#2.0相比,您有许多语言功能可以加快开发时间.你有WPF,它远远优于Winforms.我认为你可以开发相同的战斗灰色Windows,你可以在Winforms中使用WPF,更快地开发它们,当你想要一些眼睛糖果时,你将使用一种可以轻松提供它的技术.如果您正在学习这种转换的新窗口平台,为什么不投资学习新的东西呢?

另外,请告诉我你实际上并没有购买VS 2005.你可以以相同的成本购买MSDN Universal许可证,并获得微软制造的所有与开发相关的产品.从第三方购买,您将获得很好的折扣.

对不起,如果我消极的.真诚地,祝你好运.当我想放弃.Net 3.5中的所有好东西时,我只是有倒叙.


Jim*_*eth 8

我之前曾在一家想要从Delphi转换为C#.NET的公司工作过,因为.NET 很酷且很有光泽.他们带来了更多具有大量C#经验的开发人员,并且最终将开发人员的3倍时间用于将应用程序移植到C#,然后它在Delphi中第一次写入它以获得非常少的额外ROI(一些在此过程中添加了新功能).此外,客户对应用程序性能或UI不满意.

案例研究后的案例研究表明,重写是一个坏主意.(帽子提示到kogus)

如果你必须转移到.NET(是的,我知道,你没有做出决定,信息较少的人),那么我建议使用Delphi for .NET或RemObjects Oxygene.后者是Visual Studio插件.但即使是RemObjects Oxygene的首席软件架构师marc hofman也表示,将一个完美的应用程序迁移到.NET"仅仅因为"是一个坏主意.

如果你可以等待Delphi Prism,这也是一个Visual Studio插件,预计将在今年晚些时候推出.