郁闷至极,关于EHLIB于DELPHI2007 ( 积分: 200 )

  • 主题发起人 主题发起人 wiseinfo
  • 开始时间 开始时间
W

wiseinfo

Unregistered / Unconfirmed
GUEST, unregistred user!
情况是这样的,在以前DELPHI2006或最新的DELPHI2007,EHLIB能够正常安装与使用 ,但从EHLIB继承的控件安装不上去,还提示RLINK32错误,为这问题我重装过N次WINDOWS了,不会与DELPHI7相干扰的可能

>>>>>>>>>>>>请大家注意,EHLIB本身安装没有任何问题,<<<<<<<<
>>>>>>>>>>>>是从EHLIB继承过来的控件安装有问题<<<<<<<<<<<<<<<<<<

我发现这原因还是DELPHI的问题,相对DELPHI7我分析下:
1.在DELPHI2007先安装好Ehlib控件包DclEhlib100.bpl(设计时),Ehlib100.bpl,直接使用EHLIB的控件一切正常!
2.我新建一个Package包(PackageVclEx),加入从TDBEditEh继承的控件,简单的用DELPHI的NEW VCL Component建立的个Unit,这时竟然不会自动把Ehlib100加入到requires,
3.编译这个Package,会提示自动加入包dbrtl,vcldb,但还是不会自动加入Ehlib100,Message提示:
[DCC Warning] PackageVclEx.dpk(38): W1033 Unit 'EhLibVCL' implicitly imported into package 'PackageVclEx'
[DCC Warning] PackageVclEx.dpk(38): W1033 Unit 'CalculatorEh' implicitly imported into package 'PackageVclEx'
[DCC Warning] PackageVclEx.dpk(38): W1033 Unit 'DBCtrlsEh' implicitly imported into package 'PackageVclEx'
[DCC Warning] PackageVclEx.dpk(38): W1033 Unit 'ToolCtrlsEh' implicitly imported into package 'PackageVclEx'
看这上面的提示,意思是要我'EhLibVCL,'CalculatorEh',DBCtrlsEh,ToolCtrlsEh这4个Unit加入到当前的PackageVclEx包中,哥们请注意,EHLIB我已经安装了,应该自动将Ehlib100自动加入到requires中才对,

这时没办法,只有手动的将C:/Documents and Settings/All Users/Documents/RAD Studio/5.0/Dcp/Ehlib100.DCP,加入到requires中,再Compile PackageVclEx包,Messages如下:
[DCC Error] PackageVclEx.dpk(32): E1026 File not found: 'EhLib100.drf'
再无论怎么Compile或Build这个Pack都是如上提示,这时再新建一个VCL Forms Application,在FORM上放EHLIB控件就提示,相当于还破坏了原来安装的EHLIB,
Cannot access package infomation for package 'Ehlib100.bpl'

无奈,再打开DclEhlib100,编译安装,再NEW一个VCL Forms Application,在FORM放入EHLIB控件,一切OK,
再Close all ,Open PackageVclEx,再Compile ,严重的 error Messages:
[DCC Error] PackageVclEx.dpk(32): E2161 RLINK32: Error opening file &quot;R:/vcl/vcl10/EhLib4.1.4/Common/EhLib100.drf&quot;
[DCC Error] PackageVclEx.dpk(35): F2063 Could not compile used unit 'DBEditEx.pas'
再弹出一个对话框:
Resource DBSMDOWNEH not found.

大约就这情况了,为大家准备了200分分享,,,保证顶者有份,
 
不是吧,我装那个控件挺成功的,按网上找到方法
 
EhLib 在 delphi 7中的安装方法

1. 把 EhLib 中的 common 和 DataService 文件拷贝到 Delphi7 目录中.
2.在 TOOLS->Environment Options->Library->Library Path 中添入EHLIB路径。
3.打开新建文件夹中的 EHLIB70.DPK ,编译一下,但不要安装。
4.打开Ehlib中的DclEhLib70.DPK,编译,安装
5. 在Delphi 7中打开DclEhLib70.dpk,编译并安装。
6. 组件面板中出现一个EhLib的组件页。
7. 打开附带的DEMOS,编译并运行,测试安装成功。
 
TO delhpi,EHLIB以及我从EHLIB继承的控件包,在DELPHI 7下安装一点问题都没有,在控件安装这块我还是很熟的,,,如果Library Path 都没加入,ERROR MESSAGES也不是这样的,

EHLIB70.DPK ,编译一下,但不要安装。我也知道,EHLIB70.DPK是运行时,也没法安装的,

>>>>>>>>>>>>请大家注意我所说的,EHLIB本身安装没有任何问题,<<<<<<<<
>>>>>>>>>>>>是从EHLIB继承过来的控件安装有问题<<<<<<<<<<<<<<<<<<
 
2007没有用过,不过我觉得DELPHI用6.0的版本已经可以了,很多公司用的5.0的版本。
 
顶者有分,帮顶一下。
 
我估计是Delphi2007可能存在一定的问题,像自带的DUnit,就需要手动修改一下search path,在cdn中提到了。所以这个也可能是d2007的问题,不防也提交到cdn试试。
 
摘自delphi盒子:

关键字:EHLib Delphi2007 D2007 TBytes
来 自:原创
平 台:Win2k/XP/NT,Win2003
深浅度:初级 完成时间:2007-4-3
发布者:yuaiguo 发布时间:2007-4-3
编辑器:D2007 语 种:简体中文
分 类:组件

EHLib安装到D2007时会发生错误,是因为D2007在SysUtils单元定义了TBytes类型,而早期的Delphi没有定义,EHLib自己在EhLibVCL定义了,这造成在D2007里面的冲突。

打开EhLibVCL单元,把下面一行:

TBytes = array of Byte;

改为:

{$ifndef VER185} //2007-4-3,YuAiguo
TBytes = array of Byte;
{$endif}

即可。
 
TO k,这招我早就实施了,如果不这样EHLIB也根本装不上的啊,
 
在delphi2007安装和使用EHLib这个控件包没有问题,倒是装了TDXBARMANGER后,主菜单点击时BUTTON的RECT变成黑色,个人估计delphi2007不支持FRAMWORK的部分特效吧。
 
d不要用太新的版本,因为还不成熟
 
反复搞了N次,终于结束如下:
1.UNIT的PAS文件 千万不要和包的DPK放在一个目录,
2.如果PAS和DPK在一个目录,Compile包的时候,一定不能指定 Library path 到PAS的目录
 
虽然已经能够避过这个问题,我已经提交到QualityCentral,ENGLISH实在太差,忘在后面备注下,
http://qc.borland.com/wc/qcmain.aspx?d=44134
 
EHLib安装到D2007时会发生错误,是因为D2007在SysUtils单元定义了TBytes类型,而早期的Delphi没有定义,EHLib自己在EhLibVCL定义了,这造成在D2007里面的冲突。

打开EhLibVCL单元,把下面一行:

TBytes = array of Byte;

改为:

{$ifndef VER185} //2007-4-3,YuAiguo
TBytes = array of Byte;
{$endif}

即可。
 
delhpi,不要回复这种地球人都知道的东东,如果不改TBytes ,EHLIB根本也安装不上啊,
 
这个是盒子上的文章。
 
楼上的没看清楼主的问题。
楼主说EHLIB本身安装没问题,
从EHLIB继承的控件有问题。

不过我没这么做过,不清楚。
 
照着,也安装成了
 
Build with runtime packages选中运行程序就提示ehlib.drf找不到,不选中就好的,谁解决下
 
哈哈,真的很感谢你.我也遇到这个问题.果然包和源文件分开文件夹即可解决!!谢谢!!!
 
后退
顶部