C++ Builder2006控件的安装方法

本文详细介绍了C++Builder2006环境下控件的安装步骤、注意事项及常见错误排除方法,包括BPK文件生成、路径设置、编译链接问题解决等。
  C++ Builder2006控件的安装方法 作者: 来源: 阅读 543 人次 , 2006-4-29 10:13:00   一、安装步骤:   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有关的部分。   这里: $(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,就做一下抛砖引玉的动作了。这些错误老是令人心烦不已。每次装控件总忙个不停很烦,这本来就不是程序设计本身的事情呀。
Ehlib 是著名的数据库连接控制,版本为5.2.84,DBgrid增强VCL控件;支持多表头,多固定列,按表头排序,支持合计列,并支持直接打印。可以和PB的ataWindow媲美。 本版本含完整源代码,支持以下 IDE: Delphi 5,6,7,2005 C++Builder 5,6 BDS 2006 (Delphi 2006, C++Builder 2006) Delphi 2007 RAD Studio 2009 (Delphi 2009, C++Builder 2009) Embarcadero RAD Studio 2010 (Delphi 2010, C++Builder 2010) 本人已在Delphi XE中运行通过,在本人编制的进销存软件中应用完全正常。 注:Delphi 2010、XE里面安装不要修改bpl文件的输出路径,采用默认值,否则安装难以成功。 Version 5.2 + Added feature to group data in the DBGridEh. It is allowed to make grouping at run-time and design-time. Grouping works only when the grid is connected to TMemTableEh dataset. Use next subproperties of Grid.DataGrouping property to adjust grouping Active: Boolean - Set this propery true to active grouping. DefaultStateExpanded: Boolean - defines initial expapnding/collapsing state of new created elements of the grouping tree. GroupLevels: TGridDataGroupLevelsEh - Collection of group levels. Use this property to create template of the grouping. GroupPanelVisible: Boolean - Set this property to True to show special panel at the top part of the grid. Then the panel is thisible it is allowed to form group levels by mouse. Drag title of the requaried column to the group panel and drop it onto panel. Font: TFont - Controls the attributes of the default font of group records in the grid. Color: Tcolor - Default background color of the group records. See demonstration project of grouping in Demos\DataGrouping directory. Version 5.1 * The type of RowPanel property was changed. Instead of Boolean type, now it is an object property with subproperies: Active: Boolean - Defines if it is possible to place cells under each over and if every propetry can have personal hight. + NavKeysNavigationType: TGridRowPanelNavKeysNavigationTypeEh - defines the order of navigation over cells in the grid when keys Up, Down, Left, Right are pressed. rpntRowT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值