学习安装组件的最好方法,就是自己编写一个组件并安装一遍,然后就真正明白其中的原理了。
 
本例,编写了两个BPL, dclSimpleEdit.bpl 与 SimpleLabel.bpl ,其中,dclSimpleEdit.bpl 依赖 SimpleLabel.bpl ,
或者说 dclSimpleEdit.bpl 需要 SimpleLabel.bpl 才能运行。这也是多数组件安装问题之典型!
 
 
一、首先在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 Libray 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各种组件的使用方法,组件千千万,请问谁学得完?
但是,高手们拿到一个组件,稍加研究,就会使用,这是为什么?
 
既要学习“规则,知识小点”,又要上升为“技能,通识”。
 
 
 
 
 
 
 
 
 
 
 
 
 
 

delphi 组件安装教程详解的更多相关文章

  1. mysql-8.0.16-winx64.zip安装教程详解

    摘自:https://zhuanlan.zhihu.com/p/48531203 mysql-8.0.16-winx64.zip安装教程详解下载地址:https://dev.mysql.com/get ...

  2. CorelDRAW(cdr) 2018安装教程详解

    令人期待的coreldraw2018最新版已经发布了,相信各位设计从业者已经迫不及待想要知道这次版本会带来什么新的东西,本次小编带来的coreldraw2018破解版,附有注册补丁,激活之后可以永久免 ...

  3. PHP7+Nginx的配置与安装教程详解

    下面脚本之家小编把PHP7+Nginx的配置与安装教程分享给大家,供大家参考,本文写的不好还请见谅. 系统环境:centos6.5 x64 软件版本:nginx-1.10.0 php-7.0.6 安装 ...

  4. Maven安装教程详解

    一.准备工作 1.确定电脑上已经成功安装jdk7.0以上版本                 2.win10操作系统                 3.maven安装包            下载地 ...

  5. VMware虚拟机安装教程详解图文

            学习Linux系统最好的方式就是在自己的虚拟机上安装Linux:接下来就给大家简单介绍一下VMware虚拟机的安装以及Linux的安装:VMware虚拟机只是为了更好的学习Linux: ...

  6. Windows上Nginx的安装教程详解

    一 背景 为了方便本地的开发和验证,于是整理了这一篇Windows上安装Nginx的博文,建议一般学习还是使用Linux,一般正规公司都是在Linux上安装Nginx服务! 本篇内容相对比较简单,如果 ...

  7. 1、Maven安装教程详解

    一.准备工作  1.确定电脑上已经成功安装jdk7.0以上版本                 2.win10操作系统                 3.maven安装包            下载 ...

  8. Oracle数据库及图形化界面安装教程详解

    百度云盘oracle数据库及图形化界面安装包 链接: https://pan.baidu.com/s/1DHfui-D2n1R6_ND3wDziQw 密码: f934 首先在电脑D盘(或者其他不是C盘 ...

  9. MooseFS分布式文件系统介绍及安装教程详解

    MFS系统由4个部分构成:master.metalogger.chunkserver.client. 1.Master —— mfs的大脑,记录着管理信息,比如:文件大小,存储的位置,份数等,和inn ...

随机推荐

  1. JS笔记(一)

    第一章: 编写JS流程: 1.  布局:HTML和CSS 2.  样式:修改页面元素样式,div的display样式 3.  事件:确定用户做什么操作,onclick(鼠标点击事件).onmouseo ...

  2. 简单搭建SpringMVC框架详解

    在公司待了两年,用的一直是Spring+SpringMVC+Hibernate框架,都是公司自己搭建好的,自己从来没有主动搭建过,闲来无聊,自己搭建试试.一下即我搭建的过程以及搭建所遇到的问题,有部分 ...

  3. antd 主题色

    如果是自己配置的reac项目,而非官方推荐的creat-react-app或者dva-cli等阿里自己开发的脚手架去引入antd,会有两个问题 第一,用babel-plugin-import设置sty ...

  4. Python之Scrapy爬虫框架 入门实例(一)

    一.开发环境 1.安装 scrapy 2.安装 python2.7 3.安装编辑器 PyCharm 二.创建scrapy项目pachong 1.在命令行输入命令:scrapy startproject ...

  5. Ionic 2 开发(一)_安装与目录结构

    由于公司开始使用后ionic 进行前段开发,现在需要学习下ionic,虽然是后台开发,但是还是有必要了解下的 安装Node.js 官网:http://nodejs.cn/ 自行下载安装 安装Ionic ...

  6. apache修改最大连接数报错

    报错的内容: AH00180: WARNING: MaxRequestWorkers of 2500 exceeds ServerLimit value of 256 servers, decreas ...

  7. C++_进阶之函数模板_类模板

     C++_进阶之函数模板_类模板 第一部分 前言 c++提供了函数模板(function template.)所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来 ...

  8. CentOS 7 安装Boost 1.61

    1. 到官网下载最新版的boost,http://www.boost.org/users/history/version_1_61_0.html 2. 解压: tar zxvf boost_1_61_ ...

  9. Unity依赖注入

    一.简介 Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入.Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题.构建一个成功应用程序的关键是实现非常松散的 ...

  10. APP的宣传方式有哪些

    APP应用已经成为了互联网不可缺少的话题,事实上,开发一款移动APP的成本不是很高,但是怎样以最低的成本得到最大的推广效果,这是企业和开发者都很关心的一个问题.下面,我们来探讨一下这个问题. 1.一款 ...