5

首先(在这个问题被否决之前):我是一名开发人员,使用针对 Win32 的 Delphi 开发 99.99% 的程序(仍在 Delphi 7 中开发,非常缓慢地迁移到 Delphi 2010)。

当 Delphi 2006 或 2007(暂时不记得是哪个版本)问世时,我购买了 RAD Studio 版本,以便能够开始使用 Delphi.net 和 VCL.net 开发 .net 应用程序。

我玩了很短的时间,但最后由于工作量大,一直使用Delphi 7作为开发平台。

当 Delphi 2010 发布时,我决定再次尝试 .net,并且(愚蠢地)再次购买了 Studio 许可证,认为 include PRISM 是以前的 Delphi.net(将在 Delphi IDE 中开发)。

现在我已经安装了 PRISM(和 Visual Studio 8 IDE - o 恐怖),我只是想知道 PRISM 是否是 Delphi.Net 的新版本(可能不是)。如果我可以在 Prism 下使用我的一些 Win32 代码。

一些答复后更新:我保持​​问题开放,因为当尚未选择答案时您会得到更多答案。

不过,我确实想念 Delphi IDE。这完全是一种品味,但必须在两个不同的 IDE 中开发(其中键盘快捷键不同 - 我不想放弃 Delphi 的,谢谢))不是我花费我的开发时间的想法。

4

5 回答 5

12

Prism 是 Delphi .Net 的替代品 - 它由 RemObjects 开发,最初的名称是 Oxygene 和 Chrome ( http://www.remobjects.com/ )。

因为它在 .Net 领域比 Delphi .Net 成熟得多,所以它现在包含在 Delphi RAD Studio 中而不是 Delphi .Net 中。

您将无法使用所有 W32 代码,但语法非常相似,并且大多数算法可能无需任何更改即可工作。

有关 Delphi W32 和 Delphi Prism 的详细比较,请参见http://prismwiki.codegear.com/en/Win32_Delphi_vs._Delphi_Prism

于 2010-01-08T18:12:24.637 回答
8

不是。Delphi.NET 是专门为向后兼容 Win32 Delphi 代码而设计的。棱镜不是。它不是由 Borland/CodeGear 团队开发的,不包括 VCL 支持,并且有一些细微的语言差异。最好将其视为 Object Pascal 的一种新方言,而不是 Delphi.NET。

于 2010-01-08T18:13:46.273 回答
8

主要区别在于 Delphi.Net 主要是RTL/VCL 到 .Net 的一个端口,以及将 Object Pascal 改编为 .Net 语言。

它必须包含一个完整的 IDE 和一个特殊的 Delphi.Net 表单设计器。

目标是帮助以最少的更改将 VCL Forms 应用程序迁移到 .Net,或者无需重新学习 IDE 和库即可创建新应用程序。

Delphi Prism 也是 Object Pascal 对 .Net 世界的改编,但更强调成为一种完全成熟的 .Net 语言(甚至比 C# 更重要),并且更少担心与 Delphi 兼容。

它只是一种语言,托管在 Visual Studio 中,并且确实使用了 IDE 提供的任何设计器。

所以最终纯 Pascal 代码将非常相似,并且易于移植,但丰富的 GUI 应用程序将需要更多的重写/重新设计。

于 2010-01-08T19:57:45.783 回答
5

是和不是。

Oxygene (FKA Delphi Prism) 取代了用于 .NET 的 Delphi,但它不是它的新版本。

它们有不同的设计理念,并不是 100% 兼容的。正如弗朗索瓦指出的那样,Prism 不包括 VCL.Net。相反,它完全专注于支持 .NET GUI 框架:WPF、Silverlight、Prism、WinForms、ASP.NET 等。

Delphi for .NET 完全是关于迁移和向后兼容性。Delphi Prism 是一种功能齐全的 .NET 开发语言和“前向兼容性”。

您可以将纯业务逻辑创建为在 Delphi 本机和 Delphi Prism 之间兼容的代码,但所有 GUI 和 IO 代码(任何使用 VCL 或 RTL 的代码)都将是专门的。

查看OxidizerShineOn以获得更多关于迁移和与 Delphi Prism 的代码兼容性的帮助。

于 2010-01-08T20:25:52.747 回答
4

不,Prism 已被更多地标记为 Delphi,以使其更受欢迎,例如 Delphi PHP。

它不像 Delphi.NET,具有类似 VCL 等,甚至是兼容的语言(它使用method而不是procedure和许多其他偏差)。

所以你可以看看你是否喜欢它,但从我所见,使用 Delphi 并没有太大帮助,现有的代码库也没有。

于 2010-01-08T20:18:53.007 回答