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

发布于 07-26 06:16 字数 178 浏览 7 评论 0原文

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

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

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

I need to have my Delphi program use a new version of a third party DLL. I'd like to be able to use the new version but revert to the old version if I need to.

Some of the objects are invisible objects on a form in the app. Others I instantiate at runtime.

How do I install the new version of the DLL into Delphi while maintaining the existing version? I'm using Delphi 2007.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

红衣飘飘貌似仙2024-08-02 06:16:55

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

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

缺点是有时您必须在启动时杀死一些弹出窗口,但系统运行良好。

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

We have several products. Some of them are developed with different versions of Delphi and different versions of external components. (Sometimes porting/upgrading is not an option).

To solve this problem we have (network)shares for each product. And if we start working on a product, we map the standard drive (in our case w:) to that share and start the required version of Delphi. That way each product has its own environment and its own version of the components.

Downside is that you have to kill some popups sometimes, at startup, but the system works fine.

Another solution is to use virtual pc's. But not al licensing systems allow that use.

只有一腔孤勇2024-08-02 06:16:55

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

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

At runtime (including deployment), you should be able to use Win32 assembly side-by-side sharing (WinSxS) to make the new version of the component available to your application, while letting the rest of the system continue to work with any existing version. Disclaimer: I've never done this in practice.

However, at design time (in Delphi), I think you have no other choice than to work with a specific version at the time, unless they generated new interfaces and coclasses (in which case you can generate different names in the Delphi wrapper) for everything that was changed. Solutions such as those offered by Gamecat would probably be your best bet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文