学习安装组件的最好方法,就是自己编写一个组件并安装一遍,然后就真正明白其中的原理了。
本例,编写了两个BPL, dclSimpleEdit.bpl 与 SimpleLabel.bpl ,其中,dclSimpleEdit.bpl 依赖 SimpleLabel.bpl ,
或者说 dclSimpleEdit.bpl 需要 SimpleLabel.bpl 才能运行。这也是多数组件安装问题之典型!
本例源码下载(delphi 7)
一、首先在delphi中打开 ComponentStudy 目录中的 ComponetStudy.bpg ,此为工程组文件。
 
二、然后切换到 Project  Manager (Ctrl + alt +F11 ) 窗口
 
三、在 dclSimpleEditD7.bpl 点右键菜单,选择 Options...
 
按上图设置这两个目录,Output directory 是 xxx.bpl 输出目录。Dcp output directory 是 xxx.dcp 输出目录。
如果不主动设置这两个目录,它们默认的目录是:C:\Program Files (x86)\Borland\Delphi7\Projects\Bpl
[在PATH环境变量中,有此目录信息,后面会说到它的作用]
对 dclSimpleEditD7.bpl 的输出目录,做同样的上述设置(第三步之操作)。
四、在 SimpleLabel.bpl 上,点右键,选择 Build ,即编译。按同样方式对 dclSimpleEdit.bpl 进行编译。
因为dclSimpleEdit.bpl 引用了 SimpleLabel.bpl ,所以,要先编译前者。对于组件的安装,需要按顺序编译的原因就在于此。
五、在 dclSimpleEdit.bpl 点右键,选择 install 
(delphi一般规则是 dcl 开头表示设计时包,设计时包就可以 install 到 delphi ide 中)
(运行时包,本例中的 SimpleLabel.bpl 则不能 install )
因为我们在第三步,修改了 BPL 的输出目录,所以,install 时就会出现此错误。(如果是默认目录,不会有此错误)
当 install 的时候,delphi.exe 加载了 d:\wcp\ComponentStudy\TSimpleEdit\bpl\dclSimpleEdit.bpl 之后,
dclSimpleEdit.bpl 会立即加载 SimpeLabel.bpl ,因 BPL 与 DLL 相类似,同属于动态动行库,在动态运行库代码中,
不易获得当前自己目录(不是绝对不能,可以通过其它方法获取到),所以 dclSimpleEdit.bpl 就会从系统 PATH 环境变量
中的目录去查找 SimpleLabel.bpl ,如果找不到,则报错。解决方法就是在 PATH 环境变量中加上 
d:\wcp\ComponentStudy\TSimpleEdit\bpl\
六、以 Win7 64 位为例,演示如何设置 PATH 环境变量
6.1 选中“计算机”,右键“属性”,再选 “高级系统设置”
6.2 点“编辑”后,在末尾先加上“半角分号”,再输入 d:\wcp\ComponentStudy\bpl\
6.3 可以这样验证一下
6.4 操作完毕之后,重新 delphi ,再 install dclSimpleEdit 就OK了。
6.5 在组件的 SimpleComponent 标签中检查,确认已经安装成功。PATH 环境变量,在任何操作系统,任何软件中都重要,
如:java 环境安装,andorid 等等,请对其有正确的理解。
七,使用此组件。重启 delphi ,打开 ComponentStudy\UseSimpleEdit\UseSimpleEdit.dpr
并往Form 中拖一个 TSimpleEdit, F9 测试效果。
本文的重点是讲组件安装,所写范例代码也比较简单。
八、关于各种目录的设置问题。
8.1 菜单 Tools --> Environment Options..
8.2 Library path

很明显,已经自动加上了此路径。此路径的作用,可以理解为 pas 文件的搜索路径。
此路径为全局,对任何工程有效。如果有多个版本的组件共存,可以改变这些目录的顺序,
来设置当前有效的组件版本。
8.3 在 exe 工程中,另一处与此功能相同的路径, 菜单 proejct -->Options... (Shift + Ctrl + F11)
 
此功能为局部,仅属于本工程使用。同样的,此单菜中关于 packages 中的选项,
亦有“本工程有效BPL”的功效(请自行研究)。这些设置,在多版本组件同时存在于delphi时非常有用。
九、其它:
9.1 delphi 安装组件的信息记录在何处,菜单 Component -->Install Package...
它实际上存在于注册表中 [HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Known Packages]

9.2 组件自动安装包,实际上就是写注册表,写 PATH 环境变量(libray path 目录信息也是在注册表中)来实现的。

9.4 多版本组件如何共存。(稍复杂,用处不大,但可行)

a) 要让它们的 BPL 输出在不同的目录中。默认是全部在 C:\Program Files (x86)\Borland\Delphi7\Projects\Bpl ,
是不行的(bpl同名的问题),所以各种组件安装教程,让大家先删除掉此目录中的 *xx*.bpl 等操作原因在此。
(或 PATH 环境变量中所涉及到的目录,如  Windows\System32\ 等,要在这些目录中执行删除 *xx*.bpl 操作)
b) 不可同时使用,且要使用 8.2 步骤中改变目录顺序。或者用 8.3 菜单中,的 Package 选项,来增减加载的组件。
十、出错演示,删除掉 PATH 环境变量中的 d:\wcp\ComponentStudy\TSimpleEdit\bpl ,重运行 delphi 结果如下
   
确定之后
询问是否下一次继续加载。
此信息的意思是, dclSimpleEditD7.bpl 找不到 SimpleLable.bpl ,是否在下一次
加载 dclSimpleEditD7.bpl ?
选择是,设置好 PATH 环境变量,重启 delphi 就能正常。
选择否的结果:

已经取消勾选。当然,你设置正确 PATH 变量后,重启后勾上也就可能正常工作了。
(也可以在这里通过 add 安装组件)
9.5 如果exe中的组件与安装的版本不相符合时,会出现版本不同,属性不存在等提示,通过学习本教程,
相信大家就可以解决此类问题了。
delphi 的组件编写,组件安装,是一套很明晰的规则,而很多人,面对此规则的时候,手忙脚乱,
到处搜各种秘籍,方法,然而往往解决不到根本问题。
学习编程知识,一定要从表面现象,洞悉到其原理。这样才能真正掌握。
又如:delphi各种组件的使用方法,组件千千万,请问谁学得完?
但是,高手们拿到一个组件,稍加研究,就会使用,这是为什么?
既要学习“规则,知识小点”,又要上升为“技能,通识”。
后记:
2018.5.02晚,delphi 2007,安装 UniDAC 组件。
1.已用多种方法安装过,IDE中同时存在2套 UniDAC ,删之,重装不行。
2.根据报错信息,发现是 DbGridEh 组件,对 dac105.bpl 有 hook 或是调用。
可能原因:
a) DbGridEh 组件,在调用数据库驱动组件的时候,用了全局path,直接加载了 dac105.bpl
b) 也可能是 dbgridEh 调用了同名( dac105.bpl )
c) DBGridEh 有 hook 操作。
3.删掉 DBGridEh 组件,安装UniDAC, OK.
4.重安装另一版 DBGridEh ,OK
所用到的方法,均在本文提及,灵活运用即可。

转载于:https://www.cnblogs.com/lackey/p/8972221.html

delphi 组件安装教程详解相关推荐

  1. Linux redis安装教程,Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...

  2. Windows系统下nodejs、npm、express的下载和安装教程详解

    这篇文章主要介绍了Windows系统下nodejs.npm.express的下载和安装教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 1. node.js下载 首先进入http://nod ...

  3. mysql5.7.14安装版_MySql5.7.14安装教程详解(解压版)_MySQL

    下面进入正式的教程: 第一步:下载最近的MySQL文件并且解压: 下载最新版的MySQL–mysql-5.7.12下载地址 将下载到的文件解压缩到自己喜欢的位置,例如我自己的位置是D:\MySQL\m ...

  4. mysql安装包没有安装程序_MySQL5.6的zip包安装教程详解

    之前我们都是后缀为.msi的文件,换言之就是傻瓜式安装,但是有些版本不容易控制安装路径,或者数据库编码格式,还有些会安装很多无用的服务,但是都没有后缀为.zip文件简单直接,说是在哪里,就在哪里. 1 ...

  5. win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解)

    这篇文章主要介绍了win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解),详细的介绍了Oracle 11g 安装的步骤,有兴趣的可以了解一下. 先去网上把下面列表里的文件下 ...

  6. java1.8安装_2020JDK1.8安装教程详解(一次就可安装成功)

    1.官网下载JDK: 1.3 在下图中选择自己电脑对应版本的JDK点击下载,我这里是Windows64位操作系统,选择windows x64下载 1.4 接下来先画勾,然后点击下载 1.5创建orac ...

  7. Tensorflow安装教程详解(图文详解,深度好文)

    Tensorflow安装教程详解(图文详解,深度好文) 前言 安装前的准备工作 关于python 关于Anaconda 开始使用Tensorflow 系统内配置Anaconda使用路径 Anacond ...

  8. 免装版_ProeWildfire 5.0 免装版 安装教程详解

    软件介绍 Pro/Engineer操作软件是美国参数技术公司(PTC)旗下的CAD/CAM/CAE一体化的三维软件.Pro/Engineer软件以参数化著称,是参数化技术的最早应用者,在目前的三维造型 ...

  9. phpstudy mysql5.1_linux下mysql5.1 和 5.7安装教程详解

    本文主要和大家分享linux下mysql 5.1 和 5.7的安装教程,希望能帮助到大家. 以下内容的操作系统为:centos 6.7 yum安装mysql 5.1.73 卸载系统自带的mysql 执 ...

  10. 会声会影X8中文版视频剪辑下载安装教程详解

    随着人们生活水平的提高,越来越多的人喜欢用视频记录下自己的生活,分享自己制作的短视频,因此视频制作也成为了一项全民娱乐方式,这时候您就需要用到一款视频编辑软件,小编在这里就给大家推荐一款老牌的编辑软件 ...

最新文章

  1. python05-字符串和字典
  2. python表白对话框-python文件选择对话框的操作方法
  3. Docker学习与和应用(二)_使用Docker
  4. Django 1.10中更新modules同步数据库
  5. ubuntu安装mysql5.7.17_ubuntu 16.04安装mysql-server_5.7.17
  6. qmenu点击后不关闭_速腾关闭点火开关后发动机不立即熄火
  7. ios中strong和weak的解释理解
  8. 一次PHP中SQL的Where子句无效问题的解决之旅
  9. HIve的概念,发展,历史,部署,入门,加载数据
  10. 联网玩具CloudPets 泰迪熊泄漏数百万语音信息
  11. 【Hadoop Summit Tokyo 2016】构建信息平台:集成Hadoop与SAP HANA和HANA VORA
  12. win10北通手柄没反应_赛博朋克2077正式发售,光靠键鼠可不行,试试北通阿修罗3...
  13. 将eclipse中文版切换为英文版
  14. 被欧美公司垄断的工业软件,中国还有机会吗?
  15. C语言克莱姆法解方程组解析,解线性方程组用克莱姆法则
  16. 【计及DG和相关性的纯交流三点估计随机潮流计算方法】
  17. 沉船会有什么_泰坦尼克号为何会沉没,百年来又为何一直没有打捞?专家一声叹息...
  18. WordPress | QQ互联授权登录
  19. 测试环境的搭建和维护_软硬件测试环境
  20. powershell过滤查询结果

热门文章

  1. 【产品】产品经理PM相关书籍荐读
  2. 身份证合法验证查询易语言代码
  3. 不删除文字聊天的微信清理工具,快速释放空间,Python 编写,附源码
  4. 微信小程序Axure元件库(2021最新版)
  5. ios共享账号公众号_我的世界 minecraft 国际版 非网易版 ios下载账号分享 公众号 iphone ipad...
  6. 【linux运维】linux运维常用工具有哪些?
  7. sas 服务器版安装文件,SAS软件各个版本,包括服务器版本的切磋了解
  8. Struts框架的工作原理
  9. JAVA邮件发送的授权码_java实现邮件发送
  10. Java调用Python程序方法总结(最全最详细)