delphi 2006中有一个代码库,过去多年没有开发过。如果需要激活开发有哪些选项。
似乎第二种选择更可行,但它会涉及到什么呢?我阅读了一些关于Unicode支持的内容,也不确定图形库支持。
为了正确看待事物,我是一名Java程序员,并且拥有C / C ++方面的经验。但是,我试图从市场战略的最小阻力路径的角度来理解它。
提前致谢。
答案 0 :(得分:8)
我不能说在Java中重新编码它。根据代码库的不同,它可能是一个不错的选择,因为你说你有Java的经验(而且,我认为,不是使用Delphi)。
关于升级到Delphi XE2:
检查是否已使用任何第三方组件。
如果没有,您可能只需很少的更改即可升级到Delphi XE2。
如果是,请检查这些组件的源代码是否已经可用。
如果没有,如果要升级到Delphi XE2,则必须购买这些组件的新许可证(这次需要包含源代码的许可证!)。如果你真的很不走运,开发这些组件的公司已经大肆宣传。那么你要么坚持使用Delphi 2006,要么必须找到这些组件的替代品。
如果您已经获得了组件的源代码,您可能仍需要检查是否将它们升级到Delphi XE2。它可能会让你有些头疼。对于经验丰富的Delphi开发人员而言,升级良好编写的组件并不是一个问题(多年来我已经做过无数次),但对于那些不知道可能存在缺陷的人来说,这可能几乎是不可能的。
Delphi 2006和XE2之间唯一的重大变化(实际上发生在Delphi 2007和Delphi 2009之间)是切换到Unicode字符串。切换现有的代码库可能是无痛的,也可能是下背部的真正痛苦,这取决于它开始时的写入程度以及它如何(ab)使用字符串。
您尚未提及的另一个选项可能是升级到Delphi 2007,这对Delphi 2006来说基本上是一个错误修正,而不是真正的版本。如果我没记错,Delphi 2006软件包可以在没有重新编译的情况下使用Delphi 2007。
答案 1 :(得分:4)
一年前,我从2006年搬到了XE(不是XE2)。这很无痛。最重要的是unicode。但即使这样也相对容易(可能在我的具体情况下)。大多数是由Delphi以正确的方式处理的。最大的问题是导入组件,特别是当字符串被用作字节字符串时,我的字段(音乐,midi)是常态。在Embarcadero上有一个white paper字符串转换。
我只使用可用来源的组件。如果不这样做,您可能需要重新购买许可证。
答案 2 :(得分:2)
这是2006至2011/2012的跳远比赛!
但如果您考虑到这一点,就有可能:
如果你做了3件事,应用程序就可以正常编译。
答案 3 :(得分:0)
升级IDE总是比重写代码更容易,如果代码中的任何复杂性超出了“Hello,World”等微不足道的情况。
Delphi 2006中的重大障碍可能是:没有源代码的旧组件,unicode问题,可能使用过时技术(主要是BDE),以及可能的一些低级别黑客攻击,例如使用未记录的功能。
You get old versions of Delphi free when you buy XE2 licence.但Delphi 2006并不存在。 Delphi 2007几乎相同(但更好)。 It may even be possible to use D2006 binary packages with Delphi 2007
重写时,首先要找出软件的实际功能。逐行。然后你需要在Java中复制它,希望是Java风格,然后你需要验证功能实际存在的旧软件,重复。
因此,如果旧组件出现问题,您可以在重新编译或部分重写之间进行选择。
另请阅读这篇旧文章:Things You Should Never Do, Part 1
那就是说,你需要商业理由进行重写,并且有人愿意为此付费。