如何在Delphi2007中安装类或单元,如组件?
我正在用Delphi2007编写一个包,其中包含一个组件和几个类。我想“安装”类和组件 更准确地说:当安装组件时,单元会以某种方式注册,这样就不需要将其路径添加到项目中的搜索路径中。我还想用几个不包含组件的额外单元来实现这一点:如果我能以某种方式注册包的根,我就完成了。这可能吗 编辑:一句话的目标是:如何在Delphi2007中安装类或单元,如组件?,delphi,delphi-2007,Delphi,Delphi 2007,我正在用Delphi2007编写一个包,其中包含一个组件和几个类。我想“安装”类和组件 更准确地说:当安装组件时,单元会以某种方式注册,这样就不需要将其路径添加到项目中的搜索路径中。我还想用几个不包含组件的额外单元来实现这一点:如果我能以某种方式注册包的根,我就完成了。这可能吗 编辑:一句话的目标是: 如果有人安装了我的软件包,则无需将软件包中单元的路径添加到Delphi的库路径中(因此这不必手动完成)。将其添加到dcluser.dpk中,并对您进行编译就足够了吗?当我创建一个简单的组件软件包时
如果有人安装了我的软件包,则无需将软件包中单元的路径添加到Delphi的库路径中(因此这不必手动完成)。将其添加到
dcluser.dpk
中,并对您进行编译就足够了吗?当我创建一个简单的组件软件包时,我通常会设置将“单元输出目录”包选项添加到$(BDSCOMMONDIR)\Dcp,而不是将路径添加到库路径-它更简单。您可以下载my作为示例-它是带有详细安装说明的纯源代码包
更准确地说:当一个组件
安装后,该装置不知何故
注册的,注册的
需要将其路径添加到
在项目中搜索路径
该单元未在任何地方注册。当安装组件时,它所在的bpl包将在IDE启动时添加到已知包列表中,它将调用所有注册过程(注意大写字母R)这些注册过程包含在工具选项板上注册组件的代码
如果您正确地设置了组件包,那么当您将组件放到窗体上时,IDE还将知道要向窗体的uses子句添加哪些单元
环境选项中的库路径不是所有这些的一部分。如果通过安装组件对其进行修改,则除了将组件的bpl添加到IDE之外,组件的安装程序还将作为一个单独的操作来执行该操作。IDE还需要知道与包关联的任何DCU的存储位置。这意味着必须将实际路径(DCU所在的位置)添加到IDE的“库路径”中,或者将它们存储在已注册为库路径的位置。我真的不知道(以前从未使用过dcluser.dpk)。编辑了问题以使问题更清楚。我不喜欢组件库未经询问就弄乱我的库路径。事实上,我的环境选项库路径是空的。甚至连标准bds库路径都没有。@Marjan Venema:说得好。我会记住这一点!感谢您的详细描述:我的观点IDelphi不知何故知道如何找到源代码(您可以通过IDE中的uses子句访问),这正是我试图实现的。更新库路径当然是一个单独的操作(我不知道如何做),但它确实实现了我想要的。@Martijn:当您在uses中按住ctrl键单击一个单元时(或右键单击并选择)在光标处打开文件“)由于库路径或“浏览”路径中的内容,Delphi知道在哪里可以找到源代码。Delphi没有其他方法知道单元在哪里。事实上,当您清空这两个路径时,Delphi将找不到任何组件的任何源代码。