是否可以使用新的/不同版本的Indy在Delphi XE中重新编译DataSnap包?

Nic*_*ges 9 delphi packages indy datasnap

好的 - 我们有一个有趣的问题.

一些背景:

  1. 我们的主要应用程序使用Indy 10.但是,我们使用Indy 10源代码并修复其中的错误,重新编译并安装我们自己的Indy组件集.

  2. 我们正在迁移到Delphi XE并希望开始使用DataSnap.

  3. DataSnap需要Indy的"官方发货"版本,这与我们定制的Indy版本不兼容.

  4. 我们的DataSnap服务器将是独立的应用程序,但由于我们在IDE中安装了自己的Indy,因此我们无法"跨越流".

好的,因为这个兼容性问题,我们无法开箱即用Delphi XE的DataSnap.

所以我的问题是:

是否可以使用新的/不同版本的Indy在Delphi XE中重新编译DataSnap包?

感谢你的想法.

Dar*_*ler 3

人们普遍认为不,这是不可能的,因为并非所有资源都由 Embarcadero 提供,并且其中一些资源依赖于 Indy 的交付版本。(这对最终用户来说非常令人沮丧,因为 Delphi 附带的 Indy 版本相对较快地过时,有时当时选择的版本不一定是很好的版本。)

请参阅相关的SO问题: Is it possible to use Indy 10.5.8.0 in Delphi XE and DataSnap?

另请参阅 Indy 项目页面: http://www.indyproject.org/Sockets/Docs/indy10Installation.de.aspx 其中指出:

注意:在 D/CB/RAD 2009+ 中,DataSnap 在内部使用 Indy 10。安装新版本的 Indy 将使 DataSnap 无法使用,因为它将无法再加载 Indy 包。DataSnap 是针对 IDE 附带的 Indy 包进行编译的,并且最终用户无法重新编译 DataSnap。如果您需要使用 DataSnap,那么您将需要维护原始的 Indy 10 包以便在 DataSnap 项目中使用。

据说下一个版本应该可以让 Indy 的更新变得更容易。

  • Embarcadero 将在即将发布的 XE2 版本中解决 DataSnap/Indy 问题,以便用户可以独立升级 Indy,而不会再破坏 DataSnap。 (4认同)