Delphi 64位:组件兼容性?

Delphi 64位:组件兼容性?,delphi,64-bit,Delphi,64 Bit,一旦64位Delphi发布(是否适用于2012年?),组件将如何工作 我的意思是我使用了几个第三方组件:它们是否会自动在64位上工作?他们是否需要发布两个独立版本的组件?那些展望未来的供应商已经开始使用64位FreePascal测试他们的代码(只要可能)。一般来说,您的问题的答案非常具体。如果广泛使用指针或涉及硬件,则需要对代码进行修改。否则,64位的重新编译应该不会有重大问题 是的,本机代码在任何情况下都需要单独的代码版本 我认为您可以将其与Delphi的Unicode版本Delphi 200

一旦64位Delphi发布(是否适用于2012年?),组件将如何工作


我的意思是我使用了几个第三方组件:它们是否会自动在64位上工作?他们是否需要发布两个独立版本的组件?

那些展望未来的供应商已经开始使用64位FreePascal测试他们的代码(只要可能)。一般来说,您的问题的答案非常具体。如果广泛使用指针或涉及硬件,则需要对代码进行修改。否则,64位的重新编译应该不会有重大问题


是的,本机代码在任何情况下都需要单独的代码版本

我认为您可以将其与Delphi的Unicode版本Delphi 2009的第一个版本进行比较。当Delphi2009问世时,第三方组件供应商都非常迅速地提供了支持Unicode的组件。许多人在发布时就准备好了组件

在许多方面,我怀疑第三方组件支持Unicode所需的更改将比64位组件所需的更改更为繁重。第三方供应商已经开始考虑并使用
NativeInt
NativeUInt
类型

对于不同的版本,第三方组件供应商的通常做法是在所有支持的平台上编译其源代码。如果您使用的是软件包,那么很明显,不同的编译器需要不同的版本,但今天的情况也是如此——每个受支持的Delphi版本的组件都附带软件包

我要强调的一点是,如果您还没有迁移到Unicode Delphi,那么您应该尽快这样做。如果不这样做,您将无法移动到64位版本的Delphi,而且既然您现在可以移植到Unicode Delphi,那么您真的应该解决这个问题


简而言之,我对这个问题没有什么顾虑。

简而言之:组件可能会自动在x64 Delphi中工作,但是大多数组件可能需要更改,特别是当它们使用指针或汇编语言时

我知道德尔福团队努力使升级路径尽可能顺畅。
但是x64和Unicode一样是一个突破性的变化,所以也要准备好更新组件

通常,平台供应商会在公众面前向第三方供应商介绍情况,以便他们有时间使其第三方产品与其新平台版本兼容

微软为.NET做了这件事,德尔福团队为Unicode和.NET做了这件事,其他供应商也做了类似的事情

正如Eugene提到的,第三方库供应商也可以使用免费Pascal的x64版本来了解可能需要进行哪些更改

当您查看源代码时,您会发现一些供应商确实这样做了

你也可以感受到这些变化

例如,使用和在x64 Delphi上发布一些信息。他还谈到了Delphi x64

Embarcadero在路演和会议期间展示了Delphi x64命令行编译器的alpha版本,包括


--杰罗恩

+1对于每个人,我选择这个,因为它是最完整的。谢谢大家,伙计们。我相信这将是一个很小的调整。从Ansi到Unicode的更改破坏的代码比整数大小的更改破坏的代码多得多。@warren整数大小不会改变。只有指针大小。这是一个关键的区别。