控件包使用了DbGridEh。Requies也加入了ehlib70.dcp就是编译时不通过,提示:   
  Never-build   package   'XXXX'   requires   always-build   package   'EhLib70'

最后解决了,需要在Project->Options里的Description里将BuildControl 选项设置成Rebuild as needed

这是程序包的互相依赖是的问题,假如程序包A依赖程序包B,如果B改变了A如何办?这就看你在编译程序包时候的Build   Control如何选择,如果选择Rebuild   as   needed那么这个包所依赖的任何单元只要一个改变它就会重新编译,如果选择Explicit   rebuild那么只有你选择重编译时候才会重建,一般情况下程序包比较稳定所以一般都选择这个选项。你这种情况就是B选择了Rebuild   as   need,A选择了Explicit   rebuild,这样B依赖的单元一改变B就被重建,但A间接依赖B所依赖的单元不被重建不符合逻辑,所以编译器禁止这样做,你只要把所有的程序包都设置为Explicit   rebuild就可以了

Delphi 出现Never-build package 'a' requires always-build package 'b'错误的解决方法:

1、原理:

两个BPL包,如果A包requires B包,那么A包与B包的Build Control 必须一致,或者A包为Rebuild as needed(Always-build),B包为Explicit rebuild(Never-build)。

原因是:如果A包为Explicit rebuild,B包为Rebuild as needed,就是说A包是很稳定的,不需要编译,但A包requires的B包却是常变的,要经常编译的。那么,当B包改变的时候,理应要更新,而A包是Explicit rebuild,所以A包还是不编译,那么造成A包的内容是旧的,最终造成包的更新失败,如果,当应用程序调用A包的时候,就出错了。所以在A包requires B包的情况下,不允许出现“A包为Explicit rebuild,B包为Rebuild as needed”这种组合。Delphi就提示Never-build package 'a' requires always-build package 'b'这个Error了。

2、解决方法:

要把两个包的 Project-> Option 里的 Description 面板里的 Build Control设在一致,一般情况下是 Rebuild as needed

Never-build package 'XXXX' requires always-build package 'EhLib70'的更多相关文章

  1. 错误:Could not create the Android package. See the Output (Build) window for more details

    错误:Could not create the Android package. See the Output (Build) window for more details. Mono For An ...

  2. 在spring添加注解时,第一行package报错configure build path

    练习spring的ioc的注解的时候写上注解就会在第一行package报错configure build path. 用的spring4.2.4的jar包.经过上网查阅资料,可能是jar包冲突,解决办 ...

  3. 傻瓜式的go modules的讲解和代码,及gomod能不能引入另一个gomod和gomod的use of internal package xxxx not allowed

    一 国内关于gomod的文章,哪怕是使用了百度 -csdn,依然全是理论,虽然golang的使用者大多是大神但是也有像我这样的的弱鸡是不是? 所以,我就写个傻瓜式教程了. github地址:https ...

  4. Eclipse项目导入Android Stuio 配置出现 Timeout waiting to lock buildscript class cache for build file 'H:\studioproject\Generic_SN\build.gradle'

     Eclipse项目导入Android Stuio 配置出现 Error:Timeout waiting to lock buildscript class cache for build file  ...

  5. Build step 'Execute shell' marked build as failure解决

    今天jenkins构建时运行脚本报错如下: Build step 'Execute shell' marked build as failure 脚本没问题后来看了下原因是磁盘空间不足导致报错,清除下 ...

  6. TF42064: The build number already exists for build definition error in TFS2010

    In TFS2008, deleting a build removes it from the database itself. If you delete a build called Build ...

  7. Jenkins Build step 'Execute shell' marked build as failure

    问题出现: Jenkins一直都构建成功,今天突然报错:Jenkins Build step 'Execute shell' marked build as failure 问题原因: By defa ...

  8. 如何用TFS build definition添加自动建立nuget package 步骤

    参考网址:https://www.visualstudio.com/en-us/docs/build/steps/package/nuget-packager https://docs.nuget.o ...

  9. angular package.json中start build

    "start": "ng serve --host 0.0.0.0 --port 4200 --proxy-config proxy.conf.json", & ...

随机推荐

  1. N 组连续子串最大和

    数组 a 中有 M 个数 , 将 M 个数分成 N 组 , 并且每组中的数据顺序和原数组中的顺序保持一致,求 N 组中的数据之和最大为多少? 向 dp 数组中赋初始值 ,如果 M == N ,则 dp ...

  2. js点击事件代理时切换图片如何防抖动

    由于图片的加载速度比较慢,我们可以直接用64base对图片进行编码,把编码加在图片的url中~~~这样加载会快一些,也不会有切换图片时出现的抖动效果

  3. 一周学会Mootools 1.4中文教程:(6)动画

    先看一下动画的参数设置: 参数: fps - (number:默认是50) 每秒的帧数. unit - (string:默认是 false) 单位,可为 'px','em',或 '%'. link - ...

  4. Xcode GDB 命令list

    此文下半部分为转载:但是这里有一些我自己使用技巧,结合下面的文章,我们会有更多的收获,在此感谢原创者.     --------------------- 关于调试异常崩溃: 一般崩溃是由内存使用错误 ...

  5. .NET DataGrid 导出Excel 无分页

    #region 导出Excel // protected void BtnExcelClick(object sender, EventArgs e) { ToExcel(); } public vo ...

  6. MYSQL 的数据读取方式

    例子: create table T(X bit(8)); insert into T (X) values(b'11111111'); select X from T; 这个时候会发现这个X 是乱码 ...

  7. 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC

    一. 介绍 本文并不是想介绍Web服务的原理.系统架构等,我们假设您已经了解了关于Web服务的一些基本的概念.原理等知识.本文主要是针对那些已经了解Web服务概念,但是还没有亲身体会Web服务所带来令 ...

  8. BZOJ 4259 残缺的字符串(FFT)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4259 [题目大意] 给出两个包含*和小写字母的字符串,*为适配符,可以和任何字符匹配, ...

  9. Thread和ExecutorService(一)

    ExecutorService是Java并发包里面的一个线程池服务   线程池的优点 复用已有的线程,消除任务中创建线程的开销 通过优化线程的数量,提高性能,保证处理器一直处于忙的状态,而不必创建这么 ...

  10. android UI进阶之弹窗的使用(2)--实现通讯录的弹窗效果

    相信大家都体验过android通讯录中的弹窗效果.如图所示: android中提供了QuickContactBadge来实现这一效果.这里简单演示下. 首先创建布局文件: <?xml versi ...