bcb安装控件方法汇总
1.BCB 菜单: Project->Options->Packages->Add[喝小酒的网摘]http://blog.const.net.cn/a/8496.htm
如果是BCB6: 选择安装的文件夹 yb_base_c6.bpl 和 yb_comm_c6.bpl, 然后按“打开”按钮
如果是BCB5: 选择安装的文件夹 yb_base_c5.bpl 和 yb_comm_c5.bpl, 然后按“打开”按钮
2.BCB 菜单: Project->Options->Directories/Conditionals
Include Path 和 Library Path 都要添上安装路径(包含*.h和*.lib的文件夹)
①Include Path 右面的“…”按钮,添加包含 *.h 文件的文件夹
②Library Path 右面的“…”按钮,添加包含 *.lib 文件的文件夹
3.如果是 Windows 9x 需要在 C:AUTOEXEC.BAT 文件里面的 PATH=后面添加包含 *.bpl 文件的文件夹
①如果是 Windows NT/2000/2003/XP 需要在:我的电脑->属性->高级->环境变量->系统变量:
②列表里面的“变量”为 Path 的“值”按:“编辑”按钮,添加包含 *.bpl 文件的文件夹
无论是①还是②,文件夹之间的间隔都是用分号隔开。
其中2.非常重要,直接影响编译
其中3.是用来保证使用动态库编译的程序运行找到动态库, 用静态库编译不使用。这个步骤需要重新启动电脑才可生效。
建议大家安装控件时1-3的步都要做。
控件安装方法 (这个方法适用于所有VCL控件)
基本安装
1、对于单个控件,Componet--> install component..--> PAS或DCU文件--> install;
2、对于带*.dpk文件的控件包,File--> Open(下拉列表框中选*.dpk)--> install即可;
3、对于带*.bpl文件的控件包,Install Packages--> Add--> bpl文件名即可;
4、如果以上Install按钮为失效的话,试试Compile按钮;
5、是run time lib则在option下的packages下的runtimepackes加之。
如果编译时提示文件找不到的话,一般是控件的安装目录不在Delphi的Lib目录中,有两种方法可以解决:
1、反安装的源文件拷入到Delphi的Lib目录下;
2、或者Tools--> Environment Options中把控件源代码路径加入到Delphi的Lib目录中即可。
注意:所安装的控件是否与你所用的Delphi版本相适应。
RxLib的安装
首先在Delphi 5 的 IDE 中将以前版本的 Rxlib 反安装掉,删除 RXCTL5.BPL、RXDB5.BPL、 RXBDE5.BPL、DCLRX5.BPL、 DCLRXDB5.BPL 和DCLRXBD5.BPL。
打开 Rx 的运行包 RXCTL5.DPK,在 Package 窗口中按 Compile 按钮编译 RXCTL5.DPK ,
然后用同样方法编译另两个运行包RXDB5.DPK 和 RXBDE5.DPK ,将编译后的三个 BPL 文件放到搜索
路径中,如 WINDOWSSYSTEM等。
在编译完运行包后你必须将 RX 的设计期包安装到 IDE 环境中。
打开 Rx 的设计期包 DCLRX5.DPK,在 Package 窗口中按 Compile 按钮编译,
然后按 Install按钮将设计期包注册到组件面板中。用同样的方法安装 DCLRXDB5.DPK 和 DCLRXBD5.DPK。
注意:不要在 Delphi IDE 中保存包资源(package sources)!
控件删除
在Component/Install Packages中删除。
选Component/configure Palette…
有pages和components两个区域
双击components区域,选中要删除得控件,下面有得Delete按钮
但系统提供的控件只能Hide,不能delete。
打开控件所在的包文件(*.dpk),从中删除控件那个文件,再重新编译该包即可
如果是整个控件包都要删除的话,project-> Option-> Packages,删掉那个packages,That would be ok~
另外一个比较详细的说法
1.有 BPL 和 LIB 的
直接用 Install Package ,在弹出的对话框里用 ADD 添加
2.没有 BPL 和 LIB ,只有 BPK 的
用 FILE/OPEN PROJECT 打开 BPK,然后INSTALL
3.只有 PAS 或 CPP 的
FILE/NEW/PACKAGE 建立一个新的包,然后 ADD 这些文件,INSTALL 即可
具体安装步骤:
一、安装步骤:
1、拿到源码,要全部源码,不要那种只有部分源码的包。
2、找到BPK文件,如果只有DPK文件,那就用DPK2BPK程序(网上下载)生成一个BPK文件,如果生成失败,那就自己新建一个包(BPK或bdsproj),把DPK文件中包含的pas文件包含进去。
3、编译与安装。
二、注意事项:
1、Bpl包的重名问题,主要是不能重名,在Borland 与 system32下查找要安装的包的名字,如果找到全删除掉。
2、文件的重名问题,.pas.h.hpp.dcu.obj.lib.bpl.bpi.dfm.res 等文件均不应有重名现象,如果有应删除旧版本文件。这里介绍一个软件完成这项工作Beyond Compare,其主页是http://www.scootersoftware.com/
3、文件路径的设定,编译查找路径,链接时查找库文件的路径,BCB2006的路径设定会多一点,把Bcc32 Dcc32 ilink32 tasm32 等分开设定,这些均要一一设定正确,并注意先後次序对编译器的影响。这3点注意事项要时刻想起,出了问题要先查证无误。不要因为这些问题而让自己陷入泥潭,那不值得。
三、编译链接中的常见错误及排错方法
1、找不到obj或dcu文件。看看你的硬盘是不是有这麽个文件,如果有那就是第二步所说的路径问题。
2、如果文件没加入项目,那是不会生成链接所需要的obj及lib文件的。这时要注意编译多个包时的先後次序。
3、编译开关控制文件,控件包代码中的编译开关一般放在一个文件(.inc)中,如果为pas後缀请改名。类似於下面代码,如果在BCB2006下安装,就要自己修改这个文件。
{$IFDEF VER180} //如果是用BDS2006编译
{$IFDEF BCB} //BCB2006
{$DEFINE VER140} //那麽采用B6一样的编译开关
{$ELSE} //Delphi2006
{$DEFINE VER170} //那麽采用D9一样的编译开关
{$ENDIF}
{$ENDIF}
要用正确的编译开关才能编译正确。至於如何改,那要看具体的文件才行,这个一般也不难改。
4、关於DesignEditors这个单元的问题 , DCP文件的使用。
在BCB2006中,PAS代码如果包含了这个DesignEditors单元,会引起编译失败,原因是BCB2006并没有提供 DesignEditors所要的全部源码,这里会提示说找不到Proxie这个文件。可是还是有方法安装的。解决方式是通过.dcp(Delphi Compiled Packages)文件:
在 Project Options -- Pascal Compiler(Dcc32) -- Other Options 页 ,有个use package .dcps when compling , 把其选上,同时填上所要的.dcp文件的名字,DesignEditors所需要的.dcp名字是designide(只填名称就可以了,不要加後缀名 哦),填上所要的dcp文件後,DesignEditors的问题得以解决。
在BCB6中,则是将这个dcp文件加入项目,或指定连接对应的lib文件。
5、代码中的编译错误
这里指安装在B2006的控件才会碰上,因为控件没有for 2006 的,所以才有这问题,过一段时间控件升级,就没这种问题了。
这只能是见招拆招了,没有其他办法。如rxlib中的变量与B2006的TControl新增属性重名, ehlib中的因2006中TFieldType类型的增加要增加相对应的匹配项。
6、通过编译後链接时出现的错误。 这就是众人讨厌的link av 错误
出现这类型错误时,首先要记得检查上面说的注意事项,然後才进行後续的排错工作。切记。这时要进行的也就是修改项目文件了。
这个在BCB6或BCB2006测试版中支持都不好,正式版还未知如何。是一个大毛病,令人心烦。如果有多个包要修改,建议使用工具UEdit32来辅助这项工作。在外部修改了包文件後要在BCB中关闭该项目重新打开後才生效,不要被BCB那个提示迷惑了。
要修改包文件,先介绍一下包文件的内容 :(Borland真应该自己做出一个工具修改自己的包文件)
bpl项目文件用XML格式,大部分一看就明白,说一下与linker有关的部分。
<LINKER>
<ALLOBJ value="c0pkg32.obj $(PACKAGES) Memmgr.Lib sysinit.obj $(OBJFILES)"/>
<ALLRES value="$(RESFILES)"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mti.lib"/>
<OTHERFILES value=""/>
</LINKER>
这里: $(PACKAGES) 是指上面定义的 PACKAGES value 的全部。$(OBJFILES).ALLOBJ ALLRES 这两项一般不出现什麽问题。
ALLLIB 这项问题多,是LINK AV错误的发源地之一。里面有两大类:$(LIBFILES) $(LIBRARIES value)
$(LIBFILES) //BCB2006是小写,B6是大写。libraries
$(PACKAGES) //packages
$(SPARELIBS) //sparelibs
看看里面就知道Bolrand做了些什麽,有时会有一大堆没用到的包与库都放在那,这里Borland做得真差劲。
如果你安装了很多包,那麽存盘的时候所有的包与库都将写到这里面,别人如果没有这个包就会出错。这问题很弱智,但Borland就是这麽做。
把你项目中不用到的包与库删除掉。链接时也就不会报找不到什麽什麽库了。
可是还是出现link AV ,这时可能出在 libraries 项,检查libraries项,把重名的删除(还会出现重名的borland真是),重排一下次序。
sparelibs项如果混乱就设成与libraries一样。如果你的项目要链接VClsmp.lib,手工在这加上,不少lib在IDE中加不上的都在这手工加上。
设定这里的库列表需要对这些lib库的熟悉,如果不清楚,可copy一另一个项目的libraries项过来试试看。
FILELIST 项,BCB可能会有一些没用的文件也在其中,这里会造成找不到这文件的错误。检查一下,删除访该项即可。如果路径不对,也改对它吧。
我就是通过修改libraries packages sparelibs FILELIST 解决了不少link av错误。其他选项在project->Optons都能设定,但这几项只有手工改文件。
注意一定要先对上面提到的注意事项仔细做一遍。
关於Uedit
用UEdit可以查找函数出现在哪个lib或bpi文件中,从而知道该链接哪个lib。使用哪个bpi。当做内容替换时Uedit也很体贴。正确地连接 lib bpi文件及使用dcp文件,可解决使用Borland没给出源码的那部分单元链接失败的问题(全编译时失败)
关於B2006下安装可参考: http://community.csdn.net/Expert/topic/4440/4440033.xml?temp=.9818537
我把自己在处理包的一些方法写下来,供大家参考,希望能得到指正。这方面找不到Borand的Help,就做一下抛砖引玉的动作了。这些错误老是令人心烦不已。每次装控件总忙个不停很烦,这本来就不是程序设计本身的事情呀。
bcb安装控件方法汇总的更多相关文章
- JQuery自定义用户控件方法汇总
首先必用 JQuery.fn.extend方法 使用方法: jQuery.fn.extend({}); 其次 相应控件配置参数设置: jQuery.fn.extend({ uploadPreview: ...
- delphi安装控件
设置路径,要不就自己把文件copy到对应的文件夹里面再给你装一下装控件的 http://www.cppfans.com/vclcontrol.asp有关 VCL 控件的常见问题 (安装.卸载.升级BC ...
- C++builder XE 安装控件 及输出路径
C++builder XE 安装控件 与cb6不一样了,和delphi可以共用一个包. 启动RAD Studio.打开包文件. Project>Options>Delphi Compile ...
- 使用CSV控件方法实现参数化
一.录制脚本 二.下面介绍如何使用CSV控件方法实现参数化 1. 添加-->配置元件-->csv Data Set Config Filename:文件的来源 Variable Name ...
- BCB:WebBrowser 控件说明
控件文件:system32\shdocvw.oca shdocvw.dll 注册:regsvr32 shdocvw.dll WebBrowser 是 IE 内核做的 VB 控件, WebBrow ...
- Auto.js 特殊定位控件方法 不能在ui线程执行阻塞操作,请使用setTimeout代替
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js 特殊定位控件方法 操作环 ...
- C#控件方法及属性大全,望补充
C#控件及常用设计整理 1.窗体 常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态 ...
- NET中验证控件表达式汇总
ASP.NET为开发人员提供了一整套完整的服务器控件来验证用户输入的信息是否有效.这些控件如下: 1.RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么,将不能提交 ...
- C# winform编程中多线程操作控件方法
private void Form1_Load(object sender, EventArgs e) { Thread newthread = new Thread(new ThreadStart( ...
随机推荐
- ASP.NET Page对象各事件执行顺序(转)
很久没写 asp.net 的东西了,search 了一下 page 的事件执行顺序,找到如下的东西,仅仅做记录用 Page.PreInit 在页初始化开始时发生 Page.Init 当服务器控件初始化 ...
- ACM好书推荐
年末感想之(渣渣的我) 仔细想想,搞比赛的日子4年有余了,确实不服老不行了,直到现在平均每天的题量都在3题左右.其实真想说,“渣渣的我”.做的题确实不少了,但是水平还是上不了档次. ...
- 华为OJ题目:刷题
题目描述: 新入职华为的小伙伴们都有在oj上面刷题的任务,共需要刷100道初级题,45道中级题,5道高级题,其中,做出来的高级题如果超标可以当初级或者中级题,做出来的中级题如果超标可以当初级题.每天, ...
- Jmeter组件4. Regular Expression Extractor
位置:Post-Processors - Regular Expression Extractor 所谓的Post-Processors直译为后处理器,意思是在域内所有Sampler执行完后才会执行, ...
- JQ怎么获取margin-left的值
var margin =$("#Modules .list").css('marginLeft');
- Visual Studio 2015完全离线安装
虽然微软提供了Visual Studio的ISO镜像下载,但这个ISO文件并不完整,安装的过程中依然需要联网下载一些安装包,在中国特色的网络环境下导致安装过程还是非常慢的.另外,在一些网络隔离的环境中 ...
- 在MySQL中阻止UPDATE语句没有添加WHERE条件的发生
如果在生产环境中使用UPDATE语句更新表数据,此时如果忘记携带本应该添加的WHERE条件,那么..Oh,no…后果可能不堪设想.那么有没有什么办法可以阻止这样的事情发生,又不使用任何的审核工具呢.. ...
- SystemVerilog的历史
随着软件的功能需求越来越复杂,C语言不足以解决现有的问题,于是C++被发明了:C++的指针漫天飞,对内存的处理过于复杂,于是Java被发明了:芯片的功能不断地扩大,Verilog不足以应对日益复杂的芯 ...
- MC java 远程调试 plugin 开发
@ECHO OFF SET CATALINA_OPTS= -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,se ...
- sql语句 关于日期时间、类型转换的东西
(一) 1, select update_date, CONVERT(VARCHAR(30),update_date,111) jj ,CONVERT(VARCHAR(30),update_date, ...