【问题标题】:delphi xe7 runtime package compatibility with delphi 7delphi xe7运行时包与delphi 7的兼容性
【发布时间】:2015-02-17 03:15:00
【问题描述】:

我用 delphi 7 创建了一个巨大的 delphi 项目。

这个程序由几个运行时包(bpl's)组成, 我们正在尝试做的是将我们的组件和源升级为delphi xe7组件,以便该程序可以由delphi XE7编译。

但由于它不是一个简单的程序,所以我们想出了一个想法,先升级一些运行时包,然后再进行下一个包,以便我们可以逐步升级我们的软件。

我想知道这个想法是否可行:例如,

main.exe(delphi7) + bpl1(delphi7) + bpl2(delphi7) + ... + bpl9(delphi xe7) + bpl10(delphi xe7)

有人试过这些方法吗?

【问题讨论】:

  • 你为什么首先使用包?

标签: delphi delphi-xe7


【解决方案1】:

运行时包是特定于编译器版本的。您不能在 XE7 编写的项目中使用 D7 编写的 BPL,反之亦然。

【讨论】:

  • 不仅运行时包,甚至设计时包都是编译器版本特定的。实际上,任何编译单元都是特定于编译器版本的。
【解决方案2】:

也许尝试将尽可能多的代码从这些运行时包移动到动态链接库中并不是一个坏主意。为什么?

因为您可能能够在 Delphi XE7 中使用 Delphi 7 编译的 DLL,而不会遇到任何重大困难。

然后您可以将这些 DLL 中的每一个一个一个地更新到最新的 Delphi 版本。

它最终甚至会简化未来 Delphi 更新的更新过程。

【讨论】:

  • 听起来很简单。但是,如果任何 Delphi 类在模块之间共享,这是一个非首发。
  • 除了互操作问题,文本编码呢?不,这根本不是一个好主意。
  • 这是一个糟糕的主意。它会导致 ANSI/Unicode 问题、内存管理器问题,并且还增加了几个新问题。这也比简单地完成更新 BPL 的过程要多得多。
猜你喜欢
  • 2015-10-24
  • 1970-01-01
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多