一旦发布了64位Delphi(是2012年的吗?),组件将如何运作?
我的意思是我使用了几个第三方组件:他们会自动使用64位吗?他们是否需要发布2个独立版本的组件?
答案 0 :(得分:5)
我认为你可以将它与Delphi 2009的Unicode版本的第一个版本进行比较。当Delphi 2009问世时,第三方组件供应商都非常迅速地提供了Unicode感知组件。许多人准备好发布组件。
在许多方面,我怀疑第三方组件支持Unicode所需的更改将比64位所需的更加繁重。第三方供应商已经开始展望并使用NativeInt
和NativeUInt
类型。
对于不同版本,第三方组件供应商的常规做法是在所有支持的平台上编译源代码。如果您正在使用软件包,那么显然您需要针对不同编译器的不同版本,但今天也是如此 - 组件随每个支持的Delphi版本提供软件包。
我要强调的一点是,如果你还没有转移到Unicode Delphi,那么你应该尽快这样做。如果不这样做,你将无法移动到64位版本的Delphi,因为你现在可以移植到Unicode Delphi,你真的应该把它移开。
简而言之,我对此问题几乎没有担忧。
答案 1 :(得分:5)
简而言之:组件可能会在x64 Delphi中自动运行,但是大多数组件可能需要更改,尤其是当它们使用指针或汇编语言时。
我知道德尔福团队努力使升级路径尽可能顺利 但x64 - 就像Unicode一样 - 是一个重大改变,所以要准备好更新你的组件。
通常,平台供应商会向普通大众介绍第三方供应商,以便他们有时间让他们的第三方产品与他们的新平台版本兼容。
微软已经为.NET做到了这一点,Delphi团队已经为Unicode和.NET做过这样的事情,而其他厂商也做过类似的事情。
与Eugene提到的一样,第三方库供应商也可以使用x64版本的Free Pascal来了解可能需要进行哪些更改。
当您查看源代码时,您会看到一些供应商确实这样做了。
您也可以了解这些变化。
例如,Allen Bauer使用his blog和his twitter feed在x64 Delphi上发布一些信息。他还在Delphi.org podcast interview上讨论了Delphi x64。
Embarcadero在路演和会议期间展示了Delphi x64命令行编译器的alpha版本,包括last virtual CodeRage conference。
- 的Jeroen
答案 2 :(得分:4)
那些展望未来的供应商已经开始使用64位FreePascal测试他们的代码(尽可能)。通常,您的问题的答案是非常特定于组件。如果广泛使用指针或涉及硬件,则需要调整代码。否则,64位的重新编译应该没有重大问题。
是的,在本地代码的任何情况下都需要单独的代码版本。