我从http://vvasp.cn/code/downinfo/20188.shtml下载了Ehlib组件,我想用其中的delphi6版的,解开压缩包后,delphi6文件夹下有4个.dpk文件:
DclEhLib60.dpk
DclEhLibDataDrivers60.dpk
EhLib60.dpk
EhLibDataDrivers60.dpk该文件夹下其他文件有:
EhLib60.dof
DclEhLib60.res
DclEhLibDataDrivers60.res
EhLib60.res
EhLibDataDrivers60.res在delphi6环境下执行File-->Open,分别打开这4个.dpk文件,然后Install和Compile,都提示找不到DBSumLst.dcu文件,是我下载的压缩包有问题,还是我的安装有问题?
DclEhLib60.dpk
DclEhLibDataDrivers60.dpk
EhLib60.dpk
EhLibDataDrivers60.dpk该文件夹下其他文件有:
EhLib60.dof
DclEhLib60.res
DclEhLibDataDrivers60.res
EhLib60.res
EhLibDataDrivers60.res在delphi6环境下执行File-->Open,分别打开这4个.dpk文件,然后Install和Compile,都提示找不到DBSumLst.dcu文件,是我下载的压缩包有问题,还是我的安装有问题?
http://hi.baidu.com/yehang_studio/blog/item/5da8df08a80ec1910a7b82dc.html
每次安装Delphi 不管是D7 还是D6总是和她战斗很长时间,不是D7本身的问题,而是一大堆控件的问题。所以每次安装的时候都很头疼,下面是在网上的一篇安装Ehlib的教程,对我太有帮助啦。。 此篇 EhLib 使用教程简单描述一下 EhLib 的安装方法。EhLib 在 Delphi 7 下的安装方法:
1、将 EhLib 解压到一个目录,如:E:\VCL\EhLib;
2、将 EhLib 安装目录下 Common 目录、DataService 目录下的所有文件拷贝到 EhLib 安装目录下的 Delphi 7 目录;
3、启动 Delphi 7;
4、选择 File — Open Project,跳转到 EhLib 安装目录,在出现的打开文件对话框文件类型下拉列表中选择 Delphi Package(*.dpk;*.dpkw),在文件列表中选择 EhLib70.dpk 打开,然后在出现的 Package 窗口中点击按钮 Compile,编译此包;
5、按照上一步相同的方法打开 DclEhLib70.dpk,点击 Compile ,然后再点击 Install ,安装此设计时包;
6、打开 Delphi 菜单-Tools-Environment Options-Library-Library Path,将 EhLib 安装目录下的 Delphi 7 目录添加到库搜索路径中,本例中该路径是 E:\VCL\EhLib\Delphi7。
至此,EhLib 在 Delphi 7 下即安装成功,在关闭上述打开的包文件时,会提示是否保存,在此处选择否,不保存。
EhLib 在 Delphi 5、Delphi 6、Delphi 8 下依上述方法都可正确安装。
EhLib 在 Delphi 2007、Delphi 2006 下的安装步骤跟上述也完全相同,不同在于他们新添加了两个包,按照上述第 4 步指示方法安装 EhLibDataDrivers110.dpk、按照第 5 步所示方法安装 DclEhLibDataDrivers110.dpk 即可。
安装 Delphi 组件,其实就是安装扩展名为 .dpk 的 Package 包文件,一般包分为运行时包和设计时包,运行时包打开后编译即可;设计时包一般以 Dcl 为包名前缀,设计时包不但需要编译,同时还需要安装才可出现在 Delphi 组件面板上,其它组件如 FastReport 按照此原则都可正确安装。
注:EhLib 最新版 4.2.12 中文汉化版可以在 Delphi 盒子下载。
PS:可是我进行第4步时,总是提示这样的错误:Could not create output file 'EhLib70.dcu'。
也遇到过这种问题,不过那是因为没有关掉应用程序又再次执行。可是这一次不一样,原因是.dcu文件不是可执行文件,它是在编译过程中生成的文件。
在编译EhLib70.dpk不成功之后,我开始编译DclEhLib70.dpk,可是仍然提示:Could not create output file 'EhLibVCL.dcu'。让人很郁闷。
在失败了很多次之后,我把安装目录下的‘Ehlib70.dcu',和‘EhLibVCL.dcu’删除掉,再按照步骤进行。OK 编译成功。
1.添加E:\VCL\EhLib\Delphi7路径到Delphi 菜单-Tools-Environment Options-Library-Library Path2.启动 Delphi 7,选择 E:\VCL\EhLib\Delphi7目录中的 EhLib70.dpk 打开,然后在出现的 Package 窗口中点击按钮 Compile,编译此包;
按照上一步相同的方法打开 DclEhLib70.dpk,点击 Compile ,然后再点击 Install ,安装此设计时包;刚试验过,可以安装,没有问题.安装之后在组件面板上的名称是:Ehlib如果还是无法安装,到盒子上下载一个最新的Ehlib版本安装一下.
1.添加E:\VCL\EhLib\Delphi7路径到Delphi 菜单-Tools-Environment Options-Library-Library Path2.启动 Delphi 7,选择 E:\VCL\EhLib\Delphi7目录中的 EhLib70.dpk 打开,然后在出现的 Package 窗口中点击按钮 Compile,编译此包;
按照上一步相同的方法打开 DclEhLib70.dpk,点击 Compile ,然后再点击 Install ,安装此设计时包;刚试验过,可以安装,没有问题.安装之后在组件面板上的名称是:Ehlib如果还是无法安装,到盒子上下载一个最新的Ehlib版本安装一下.
1.添加Delphi6所在路径
2.编译EhLib6.Dpk
3.编译EhLibDataDrivers6.Dpk
4.编译并安装DclEhLib6.Dpk
5.安装DclEhLibDataDrivers6.Dpk
为什么自定义函数ChangeColor与TDBGridEh会不兼容呢?
调用函数:procedure TForm3.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
//隔行改变网格背景色:
ChangeColor(ADOQuery1,DBGrid1,Rect,DataCol,Column,State);
end;
函数体如下:procedure ChangeColor(query_mydate:TADOQuery;dbgrid_mygrid:TDBGrid;const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
//隔行改变网格背景色:
if query_mydate.RecNo mod 2 = 0 then
dbgrid_mygrid.Canvas.Brush.Color := clInfoBk //定义背景颜色
else
dbgrid_mygrid.Canvas.Brush.Color := clMoneyGreen; //定义背景颜色
//定义网格线的颜色:
dbgrid_mygrid.DefaultDrawColumnCell(Rect,DataCol,Column,State);
if (GdSelected in state) or (gdFocused in state) then
dbgrid_mygrid.Canvas.Brush.Color := clred;
dbgrid_mygrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;