分发带有第三方 UI 元素的设计时包

发布于 2024-07-17 10:09:23 字数 215 浏览 17 评论 0原文

现在,我正在更多地了解组件开发的设计时方面,我可能有一些针对 Delphi 2007 的 IDE“插件”(+其他兼容的插件)。

理想情况下,这些表单/用户界面将利用我经常使用的一些第三方组件。 假设许可可以为 IDE 插件等分发这些组件,那么与在“完整源代码”包上执行的操作相比,我需要做哪些不同的事情来准备分发包?

(我希望这个问题有意义。如果没有,请友善地提出问题)。

Now that I am learning more about design time aspects of component development, I have what may turn out to be a couple of IDE "plugins" targeting Delphi 2007 (+ others if compatible).

The forms / UI for these, ideally, will utilize some of the third party components I use regularly. Assuming the licensing is okay to distribute those components for an IDE plugin, etc., what do I need to do differently to prepare the distribution package, as compared to from what one would do on a package with "full source"?

(I hope this question makes sense. Please be kind and ask questions if not).

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

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

发布评论

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

评论(3

叹沉浮 2024-07-24 10:09:23

您需要分发为您将支持的每个 Delphi 版本(版本 + 更新)编译的 BPL,然后仅分发 BPL。 设置一个虚拟机来测试它。BPL 是一个特殊的 DLL,因此您只需分发一个二进制文件,它应该与您的许可证一起使用。

分发 .PAS 或 .DCU 最有可能违反许可协议。

You need to distribute the BPL compiled for each version of Delphi you will support (Version + Update) and then only distribute the BPL. Set up a Virtual Machine to test it in. The BPL is a special DLL, so you are only distributing a binary, which should work with your licenses.

Distributing the .PAS or .DCU would violate the license agreement most likely.

情绪失控 2024-07-24 10:09:23

您可能会发现这会导致各种问题。

GExperts 的做法有所不同。 它是一个静态链接到某些第 3 方控件的 DLL,并且仅引用 Delphi 自己的运行时包。 这不会导致与其他包发生任何冲突,因为静态链接单元对 IDE 不可见。 这也意味着 GExperts 不需要分发任何运行时包。

You will probably find that this causes all sorts of problems.

GExperts does it differently. It is a DLL that statically links to some 3rd party controls and references only Delphi's own runtime packages. This cannot cause any conflicts with other packages because the statically linked units are not visible to the IDE. It also means that GExperts does not need to distribute any runtime packages.

随心而道 2024-07-24 10:09:23

不要在设计时包中分发这些组件。 如果您的客户碰巧也想在自己的项目中使用这些相同的组件,这会给您和您的客户带来麻烦。 如果您将这些组件的单元放入设计时包中,那么您的客户将无法在工具选项板上安装这些组件的自己的副本,因为一次只能加载一个单元的一个副本。

您正在使用的组件应该已经来自其供应商的运行时包。 将包放入设计时包的“需求”列表中。 仅分发 .bpl 文件; 我认为您可以将其安装在与设计时包相同的目录中。

该运行时包也将是供应商设计时包的要求,这是您的客户将在其 IDE 中安装的包。

Do not distribute those components in your design-time package. It will cause headaches for you and your customers if your customers also happen to want to use those same components in their own projects. If you put those components' units in your design-time package, then your customers will not be able to also have their own copy of those components installed on the Tool Palette because only one copy of a unit may be loaded at a time.

The components you're using should have come in a run-time package from their vendor already. Put that package in your design-time package's "requires" list. Distribute the .bpl file only; I think you can install it in the same directory as your design-time package.

That run-time package will also be a requirement of the vendor's design-time package, which is what your customers will have installed in their IDE.

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