新版本的第三方COM DLL - 如何在Delphi中安装和保留旧版本?

时间:2009-07-07 18:22:44

标签: delphi com activex delphi-2007 typelib

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

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

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

2 个答案:

答案 0 :(得分:3)

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

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

缺点是你有时会在启动时杀掉一些弹出窗口,但系统运行正常。

另一种解决方案是使用虚拟PC。但是,许可系统不允许这样使用。

答案 1 :(得分:2)

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

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