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,就做一下抛砖引玉的动作了。这些错误老是令人心烦不已。每次装控件总忙个不停很烦,这本来就不是程序设计本身的事情呀。

时间: 2024-07-29 16:50:04

bcb安装控件方法汇总的相关文章

C# Winform 跨线程更新UI控件常用方法汇总

C# Winform 跨线程更新UI控件常用方法汇总 概述 C#Winform编程中,跨线程直接更新UI控件的做法是不正确的,会时常出现“线程间操作无效: 从不是创建控件的线程访问它”的异常.处理跨线程更新Winform UI控件常用的方法有4种:1. 通过UI线程的SynchronizationContext的Post/Send方法更新:2. 通过UI控件的Invoke/BeginInvoke方法更新: 3. 通过BackgroundWorker取代Thread执行异步操作:4. 通过设置窗体

十三、Android学习笔记_Andorid控件样式汇总

<!-- 设置activity为透明 --> <style name="translucent"> <item name="android:windowBackground">@color/translucent</item> <item name="android:windowIsTranslucent">true</item> <item name="an

Android学习笔记_75_Andorid控件样式汇总

<!-- 设置activity为透明 --> <style name="translucent"> <item name="android:windowBackground">@color/translucent</item> <item name="android:windowIsTranslucent">true</item> <item name="an

Android基础控件使用汇总

平时写代码总会遇到一些问题,准备写一个比较基础的控件使用汇总系列!本系列持续不定期更新,希望能够帮到需要的朋友!get! Android基础控件使用细节--TextView Android基础控件使用细节--Button Android基础控件使用细节--EditText Android基础控件使用细节--ImageView Android基础控件使用细节--WebView Android基础控件使用细节--ListView Android基础控件使用细节--Menu Android基础控件使用

WPF查找子控件和父控件方法[转帖]

WPF查找子控件和父控件方法 一.查找某种类型的子控件,并返回一个List集合 public List<T> GetChildObjects<T>(DependencyObject obj, Type typename) where T : FrameworkElement { DependencyObject child = null; List<T> childList = new List<T>(); for (int i = 0; i <= V

C#控件方法及属性大全,望补充

C#控件及常用设计整理 1.窗体 常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized (窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运行时窗体的起始位置. (4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的

IE下JS接受ActiveX控件方法

1.常规写法 <SCRIPT type="text/javascript" FOR="activexID" EVENT="onXXXevent()" > // js 处理具体内容. </SCRIPT> 当acitveX控件 onXXXevent()事件被触发时,调用此方法. 2.注意事项 这种方法只是IE下支持,且要注意 <SCRIPT type="text/javascript" FOR=&qu

LISTCTRL控件方法

以下未经说明,listctrl默认view风格为report ------------------------------------------------------------------------------- 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,"查看&q

基于MFC的Media Player播放器的控件方法和属性介绍

|   版权声明:本文为博主原创文章,未经博主允许不得转载. 因为使用第三方多媒体库或是第三方控件(Media Player)辅助播放,我们则必须要了解到Media Player控件的一些属性 和方法.下面我们介绍一些常用的方法和属性. 下面这两张图片是我们导入的控件的类库,我们使用的一些方法和属性全部包含在下面的文件当中. >>.CWMPPlayer4 1 CString GetUrl(); 2 //取得指定位置 3 void SetUrl(LPCTSTR lpszNewValue); 4