摘要
已经有一段时间没有使用Delphi了,但是我开发了自己的自定义可视化控件(我最后一次使用的版本是Delphi 6)。
在处理包依赖关系时有两个问题。一个是在Delphi环境中安装,使控件出现在组件面板上,以及组件编辑器和属性编辑器。
另一个问题是将编译后的包分发到客户机器上。
这也取决于您正在运行哪个版本的Delphi。
设计时
在开发自定义包时,有一个选项卡用于指示目标文件夹。
手册通常告诉开发人员将这些文本框留空。有时候可以工作,有时候不行。我会在相应的文本框中显式地编写每个文件夹路径。
有一个文本框路径用于“.dcp”文件,另一个用于“.dcu”等等。
如果您有可视化控件以及像属性编辑器或组件编辑器之类的东西,则最好将代码拆分为2个包(“运行时”和“设计时”)。
我通常将Delphi(包)项目放在Delphi安装文件夹外面。
运行时
通常,快速的方法是将“*.bpl”、“*.dcp”文件放置在Windows(32)/系统文件夹或类似的“DLL” Windows文件夹中。
建议包文件夹结构源代码
管理包可能会很困难。我不知道Embarcadero和Delphi的新版本安装过程有多大变化。以下图表是如何组织源代码的示例。希望能对您有所帮助。
[-]
.....|
.....+
.............|
.............+
.............|
.............+
.............|
.............+
.....................|
.....................+
.....................|
.....................+
.....................|
.....................+
.............................|
.............................+
.............................|
.............................+
.............................|
.............................+
.............................|
.............................+
.............................|
.............................+
.............................|.......|
.............................|.......+
.............................|.......|.......|
.............................|.......|.......+
.............................|.......|.......|
.............................|.......|.......+
.............................|.......|.......|
.............................|.......|.......+
.............................|.......|.......|
.............................|.......|.......+
.............................|.......|.......|
.............................|.......|.......+
.............................|.......|.......|
.............................|.......|.......+
.............................|.......|........
.............................|.......+
.............................|.......|........
.............................|.......+
.............................|.......|........
.............................|.......+
.............................|................
.............................+
祝福。
PngImage
作为选项),或基于VST等等...当然,这一切都取决于Delphi版本,因为大多数众所周知的第三方组件(非商业化)现在已经集成在较新版本的Delphi中(即XE/2)。 - kobik