Delphi专家中的第三方依赖项 [英] Third party dependencies in a delphi expert

查看:82
本文介绍了Delphi专家中的第三方依赖项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在写一个具有某些第三方依赖项(可视控件)的delphi ide专家,我的问题是该专家何时将被安装在目标计算机上,这台pc也将要求也安装了这些第三方组件吗?还是将组件嵌入到生成的bpl中?

解决方案

关于BPL专家:


如果您可以避免链接到第三方控件的设计时版本,而仅坚持运行时BPL,则可以合法地将这些内容与您的专家一起作为专家来运送。


不幸的是,我不能说您可以安全运送它们,因为您正在与其他Delphi开发人员打交道:他们可能具有相同的3rd Party软件包,但版本不同!使用普通的应用程序,您可以简单地将BPL版本安装到应用程序的目录中,但这不适用于Delphi IDE,因为该应用程序是IDE:IDE是加载和链接BPL的一个,它可以不会加载同一BPL的两个版本。而且,您不能替换用户的版本,因为他们需要保留获得许可的版本,即使您的版本是新的也是如此!


解决方案:DLL专家:


一种可能的解决方案是将专家编译为DLL,而不是程序包,并静态链接所有依赖项。这样一来,您将不再依赖于用户使用的第三方控件版本。


i am writting a delphi ide expert, with some third party dependencies (visual controls), my question is when this expert will be installed in a target machine , this pc will be requires have installed these third party components too? or the componentes are embeded inside of the bpl generated?

解决方案

About BPL experts:

If you can avoid linking to the design-time versions of the 3rd party controls, stick to runtime BPL's only, you can legally ship those with your expert as your expert.

Unfortunately I can't say you can safely ship them because you're dealing with other Delphi developers: they might have the same 3rd party packages but in a different version! With a normal application you can simply install your version of BPL's to your application's directory, but this is not going to work for a Delphi IDE because the the application is the IDE: the IDE is the one loading and linking the BPL's, and it can't load two versions of the same BPL. And you can't replace your user's version because they need to keep the version they licensed, not even if your version is newer!

The solution: DLL experts:

One possible solution is to compile your expert as a DLL, not as a package, and statically link all dependencies. That way you're no longer dependent on your user's version of the 3rd party controls.

这篇关于Delphi专家中的第三方依赖项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆