【发布时间】:2011-09-23 17:48:53
【问题描述】:
好的——我们有一个有趣的问题。
一些背景:
我们的主应用程序使用 Indy 10。但是,我们使用 Indy 10 获取并修复其中的错误,重新编译并安装我们自己的一组 Indy 组件。
我们正在迁移到 Delphi XE 并希望开始使用 DataSnap。
DataSnap 需要 Indy 的“官方发货”版本,该版本是 与我们定制的 Indy 版本不兼容。
我们的 DataSnap 服务器将是独立的应用程序,但由于我们 在 IDE 中安装了我们自己的 Indy,我们不能“跨流”。
好的,因此,我们无法使用 Delphi XE 的 DataSnap 因为这个兼容性问题。
所以我的问题是这样的:
是否可以使用新的/不同版本的 Indy 重新编译 Delphi XE 中的 DataSnap 包?
您的想法非常感激。
【问题讨论】:
-
为什么 DataSnap 不适用于您的 Indy 版本?换界面了吗?
-
我一直无法找到这些包的 DPK。
-
@David -- 嗯。不确定。检查....他们说他们不相信。这可能是解决方案的途径——将我们的修复应用到发布版本。我们一直在使用较新版本的 Indy,但 XE 发布版本可能会起作用。
-
@Nick 我不太确定这些东西之间的联系是如何工作的,我对 Indy 和 DataSnap 一无所知。但在我看来,只要 Indy 的接口是 DataSnap 所期望的,那么它就没有理由拒绝它。如果界面发生变化,那么您会收到可怕的“foo.dcu was compiled with a different version of bar.dcu”消息。
-
@David:问题是有时 Indy 会在“次要”版本中破坏接口,不幸的是。这使得在不重建(和修复)依赖库的情况下切换到新版本是不可能的。 Delphi 不发布包代码可能是为了避免人们轻松部署他们自己的标准包版本(但我想切换到更强大的模型会更好,即签署标准包、强名称等),同时让包重新编译如果需要的话。但霍奇斯应该比我们更了解这一切,因为他是德尔福的产品经理……
标签: delphi packages indy datasnap