gpt4 book ai didi

delphi - 自定义组件依赖 hell

转载 作者:行者123 更新时间:2023-12-03 14:42:13 25 4
gpt4 key购买 nike

我正在尝试为我制作的自定义组件制作一个包。它基于多个库,包括 Graphics32、GraphicEx 和 CCR.Exif。

我创建了一个Package项目,编写了包括其Register过程的单元,添加了一些Delphi通知我的关于requires部分的额外引用(包括dbrtl.dcp、inet .dcp、soaprtl.dcp、vclimg.dcp、xmlrtl.dcp 和 dclGraphicEx140.dcp),并向 contains 部分添加了许多单元,以避免隐式发生的警告。该项目编译并可以在我自己的机器上安装和使用,没有任何问题。然而,当我想把它安装到另一台机器上时,麻烦就开始了。最后,我必须从我使用的所有第 3 方组件中复制所有 DCU,再加上 GraphicEx 中的 DCP 和 BPL,我什至必须安装它们。

提供大量文件是一件令人沮丧的事情,但可以克服,但还必须安装其他软件包是不行的。我可以通过在 contains 部分中放置更多单元来摆脱 DCP 和 BPL,但这会导致我自己的实际安装 GraphicEx 的计算机上出现错误消息。这让我很困惑,因为 Graphics32 不会发生类似的情况......

无论如何,我如何将我的分布保持在最低限度并避免这种情况?我希望我团队中的其他开发人员能够使用该包,而不必担心我用来构建它的内容。首先,难道不能将所有第 3 方单元编译到我自己的 DCU 中吗?

最佳答案

对于编写组件的人来说,您所经历的事情是很平常的事情。分布总是这样。包不携带其他包,而是引用它们。这是他们的本性。

为了克服这种情况,我总是以与销售产品相同的方式对待我的组件:我构建了一个安装向导,用于分发和注册程序包所需的所有内容。

就我而言,InnoSetup 工作得很好 ( http://www.jrsoftware.org/isinfo.php )。

关于delphi - 自定义组件依赖 hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9853453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com