3

我需要让我的 Delphi 程序使用新版本的第三方 DLL。我希望能够使用新版本,但如果需要,可以恢复到旧版本。

一些对象是应用程序中表单上的不可见对象。其他我在运行时实例化。

如何在维护现有版本的同时将新版本的 DLL 安装到 Delphi 中?我正在使用德尔福 2007。

4

2 回答 2

3

我们有几种产品。其中一些是用不同版本的Delphi和不同版本的外部组件开发的。(有时移植/升级不是一种选择)。

为了解决这个问题,我们为每个产品提供(网络)共享。如果我们开始开发产品,我们将标准驱动器(在我们的例子中是 w:)映射到该共享并启动所需的 Delphi 版本。这样,每个产品都有自己的环境和自己的组件版本。

缺点是您有时必须在启动时杀死一些弹出窗口,但系统工作正常。

另一种解决方案是使用虚拟电脑。但并非所有许可系统都允许这种使用。

于 2009-07-07T19:05:31.503 回答
2

在运行时(包括部署),您应该能够使用 Win32 程序集并行共享 (WinSxS) 使新版本的组件可用于您的应用程序,同时让系统的其余部分继续使用任何现有的版本。免责声明:我在实践中从未这样做过

但是,在设计时(在 Delphi 中),我认为您别无选择,只能使用当时的特定版本,除非它们生成新的接口和 coclass(在这种情况下,您可以在 Delphi 包装器中生成不同的名称)改变的一切。Gamecat 提供的解决方案可能是您最好的选择。

于 2009-07-08T19:08:40.310 回答