我对重新评估Delphi 2010很感兴趣。主要问题似乎是ASCII到Unicode的转换。您有发现有用的提示或资源吗?
更新
我想让所有感兴趣的人了解我的进展。希望大家能从中学到东西。
目前,我建议那些想要升级的人可以查看以下内容:
http://www.embarcadero.com/images/dm/technical-papers/delphi-in-a-unicode-world-updated.pdf
Is WideString identical to String in Delphi 2009
What is the compiler version for Delphi 2010?
http://chee-yang.blogspot.com/2008/10/delphi-2009-unicode.html
GIF问题:
请注意,Gif(由Melander)和Png(由Martijn Saly?)图像现在已经纳入Delphi 2010中。您将需要使用条件语句才能使用正确的GIF单元:USES Windows, SysUtils, Graphics, blabla
{$IFDEF VER150}
, GIFImage, {Delphi 7}
{$ELSE}
GIFImg {Delphi 2010}
{$ENDIF};
另外,您需要“修复”Embarcadero提供的PNG: http://talkdelphi.blogspot.com/2009_03_01_archive.html
其他需要知道的事情是,在打开Delphi 2010之前,您真的需要备份项目。即使您没有按保存按钮,Delphi 2010也会更改您的DFM文件。表单将丢失数据,并且在D7中无法编译。
升级到Delphi XE
我终于购买了Delphi XE。Delphi XE提供了一些新功能,但不幸的是,其中很少有功能能够正常工作(后台编译、UML建模、代码洞察等)。其他功能也被降级了(例如帮助)。 IDE也不像Delphi 7那样稳定和快速,工具栏也存在实际问题(最好不要自定义IDE)。还有一个讨厌的bug,即IDE的CPU利用率达到100%(请参阅我的其他帖子以了解所有这些问题)。 我希望在更新2和3中,他们将解决一些最紧迫的问题。
无论如何,我认为我升级得太早了,因为现在Embarcadero宣布了64位编译器,所以可能我将不得不再次支付大量资金来升级到下一个版本的Delphi,以获取该编译器。对于那些仍在考虑升级到Delphi XE的人,我建议严格试用Delphi XE。 结论:
Delphi XE带来了许多新功能,但显然您不会使用所有功能。 IDE的稳定性并没有得到改善。 它可以帮助您构建更现代化的应用程序(现代UI打开/保存对话框,应用程序清单)。 支持Unicode。升级到 Delphi XE7
与从 Delphi 7 升级到 XE 相比,XE 和 XE7 之间的差别并不是那么大。IDE 的稳定性与以往一样(RTL 中有很多崩溃和随机访问冲突)。
升级到Delphi Rio
考虑到自上次更新以来的时间,我可以放心地说,XE7和Rio之间的差异几乎看不出来 - 除了那些对跨平台应用程序(Mac、Android但不包括Linux!)感兴趣的人。对我来说,(适当的)跨平台支持来得太晚了。
优点
- 真正的高DPI支持(Embarcadero?这么多年后才有?)。
- IDE崩溃的频率不像XE7时那样频繁。
- VCL主题终于(似乎)起作用了。
- 迄今为止最稳定的IDE(如果您打开一个包含多个项目的项目组,仍会崩溃)。
- 几乎完整的跨平台支持(您需要购买更昂贵的Architect版本才能获得Linux)。幸运的是,对我来说,这有点太晚了。我需要跨平台的项目已经在Lazarus下启动。
- 升级代码非常容易。
缺点
- 一些被高度宣传的功能,如暗黑主题根本不起作用!
- Insight 仍然存在问题:IDE 不支持新语言特性(如声明内联变量),代码将会有下划线红色波浪线。这个问题可能永远无法解决。
- 另一个超级烦人的 IDE 问题是,即使你已经修复了最后的提示/警告/错误,编译器仍然会显示它们。看起来日志数据仍然保留在某种缓存中。
总体而言,这是目前最稳定的 IDE,但我仍然想知道(特别是与 Lazarus 相比)是否值得那么多钱。
升级到 Delphi Sydney
Sydney 相当稳定。泛型更好。GetIt 几乎可用。对迭代器的支持非常好。喜欢可以在过程体中任何位置声明的新 VAR 和类型推断。
如果你仍然拥有旧版 Delphi,我强烈建议你升级到 Sydney。
升级到 Delphi Alexandria
一切都走向了亚历山大。当我尝试安装库时,IDE崩溃了。IDE中还有许多其他奇怪的问题。社区没有急于更新插件和库以适应亚历山大。
我很高兴地降级回到了悉尼。
多年来的结论: Delphi是一种非常好、清晰的语言。Delphi编译器速度如此之快,以至于使任何C++编译器看起来都像是儿童玩具。 当我说我是Delphi开发人员时,人们仍然会轻视我,我感到很羞愧。Delphi作为一门语言已经灭绝了。在德国寻找Delphi工作只有74个职位列出(但大部分与C#和其他语言混合)。而C++则有超过1500个职位!他们现在提供了一个免费(尽管是残缺的)版本的Delphi,但伤害已经造成。现在复活Delphi已经太迟了。
我认为这种状况主要有三个原因:
- Borland放弃了Delphi(与其他语言相比,Delphi落后了)。
- Embarcadero接手了,但不尊重客户(产品过于错误和昂贵)。
- 主要问题:这门语言多年来没有得到推广。没有理智的公司会为一个已经濒临死亡的语言花费数千美元的许可证费用。而缺乏免费许可证则完全排斥了新一代程序员。
因此,我们在StackOverflow上每年都在思考是否值得投资购买新的Delphi许可证。
更新
最终,Emba发布了一个免费(即社区)版本,你可以看到效果。
多年以来,我第一次不感到羞耻地公开说我使用一种濒临死亡的语言。然而,Delphi仍需要更多的宣传。所有年轻一代都认为Delphi是一个不酷的庞然大物。