我正在 Delphi 2007 中编写一个包,其中包含一个组件和几个类。我想“安装”类和组件。
更准确地说:安装组件时,该单元会以某种方式注册,因此无需将其路径添加到项目中的搜索路径中。我还想用一些不包含组件的额外单元来完成此操作:如果我可以以某种方式注册包的根,我就完成了。这可能吗?
编辑:用一句话来说,目标是: 如果有人安装我的包,则无需将包中单元的路径添加到Delphi的库路径中(因此不必手动完成)。
最佳答案
To be more precise: when a component is installed, the unit is somehow registered such that it is not necessary to add its path to the search path in the project.
该单位未在任何地方注册。当一个组件被安装后,它所在的 bpl 包会被添加到 IDE 启动时的已知包列表中,它将调用每个已知包中的所有 Register 过程(注意大写的 R)。这些注册过程包含用于在工具选项板上注册组件的代码。
如果正确设置组件包,当您将组件拖放到表单上时,IDE 还会知道将哪些单元添加到表单的 uses 子句中。
环境选项中的库路径不是这一切的一部分。如果通过安装组件来修改它,则除了将组件的 bpl 添加到 IDE 之外,还可以通过组件的安装程序作为单独的操作来完成此操作。
关于delphi - 如何在Delphi 2007中安装类或组件之类的单元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537414/