手动升级Delphi控件时,修改inc文件的办法

以MustangPeakCommonLib.exe控件为例,想让它支持Delphi2010,就需要在D:\Program Files\Common Library\Mustangpeak\Common Library\Source\Compilers.inc文件里手动增加:

{$ifdef VER210}
{$define COMPILER_14}
{$endif VER210}

{$ifdef COMPILER_14}
{$define COMPILER_1_UP}
{$define COMPILER_2_UP}
{$define COMPILER_3_UP}
{$define COMPILER_4_UP}
{$define COMPILER_5_UP}
{$define COMPILER_6_UP}
{$define COMPILER_7_UP}
{$define COMPILER_8_UP}
{$define COMPILER_9_UP}
{$define COMPILER_10_UP}
{$define COMPILER_11_UP}
{$define COMPILER_12_UP}
{$define COMPILER_14_UP}
// Backwards compatibility
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define CPPB_3_UP}
{$define CPPB_4_UP}
{$define CPPB_5_UP}
{$define CPPB_6_UP}

{$ifdef BCB}
{$define CPPB}
{$else}
{$define DELPHI}
{$endif}

{$endif}

说明:VER210是内嵌在编译器中的,为了让编译器认识当前这个控件,就必须增加$define COMPILER_14这句话,这个标记用来管理后面的详细情况。

如果修改完了,编译器还是不认,这是怎么回事?原因还在于要把Compilers.inc文件的路径加到Lib路径里,否则Delphi连这个文件都找不到,又怎么会认识你的控件呢?

当然,还得把

EasyListviewD12.dpk
EasyListviewD12D.dpk

分别复制一份,把它们的名字改成:

EasyListviewD14.dpk
EasyListviewD14D.dpk

然后用记事本分别打开它的内容,见到12就换成14,就行了!

有时候,同一个控件,还要改多次Compilers.inc,比如:

D:\Program Files\Mustangpeak\EasyListview\Design\Compilers.inc
D:\Program Files\Mustangpeak\EasyListview\Source\Compilers.inc

都要改,否则Design下的源文件还是不认识这个编译器,因为它们都只认当前目录下的Compilers.inc文件,它们是这样写的:{$I Compilers.inc} 完全不带任何路径。

时间: 2024-10-06 03:19:37

手动升级Delphi控件时,修改inc文件的办法的相关文章

C# 多线程修改控件时,提示在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke

一般在多线程调用UI控件时,涉及到跨线程修改UI,需要使用委托,比如如下: this.Invoke((MethodInvoker)delegate { btnRefresh.Enabled = true; }); 但是假如在多线程操作还没完成的时候,我就提前关闭窗体,则会引发InvalidOperationException,提示 “在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke” ,并且如果没有捕获到,则可能导致程序崩溃,直接关闭. 百度之后,发现需要判断控件的

Delphi控件大全

首先来大体上为控件分一下类,以方便我们后面的讨论.   但因为控件的种类太多,所以就粗略的分为如下几个类别∶   ---界面风格类   ---Shell外观类   ---Editor类   ---Grid类   ---DB类   ---Report类   ---图形类   ---综合类   约定的前提是∶All FreeWare,All source.至于那些要花钱购买的商业控件,我将在后面另外进行讨论.对于文中我们所讨论的每一个控件,都会给出一个品质得分,商业控件和免费控件一视同仁,不以价格论

Delphi控件-复合控件

http://blog.csdn.net/cml2030/article/details/3166634 Delphi控件-复合控件 标签: delphidestructorbuttonstringdivconstructor 2008-10-28 13:48 1835人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 复合控件复合控件是Delphi控件中非常重要的一种控件,复合控件就是将两个或两个以上的控件重新组合成一个新的控件.例如TspinEdit.Tla

delphi控件安装与删除

附带通用控件安装方法:----------基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2.对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可:3.对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可:4.如果以上Install按钮为失效的话,试试Compile按钮:5.是run t

DELPHI控件:DBLookupComboBOX组件的使用方法

在许多数据表中,数据是以代码方式存放的,如在班级编码数据表tB03(表5.5)中,系部字段TB0309采用编码方式存放,系部真实名称则存放在系部编码表TB06.使用代码的好处是,用户可在编码表TB06中改变TB0602字段的系部名称,而不会影响使用该编码的其他数据表(如TB03)的运行6其缺点是当用户输人数据编码时,必须查询编码所表示的含义,如"OO"代表"基础部"."1 O"表示"机械系"等,这给数据录入带来很大的麻烦.最好

delphi控件属性大全-详解-简介

button 组件: CAPTION 属性 :用于在按钮上显示文本内容Cancel     属性:是否设置成默认的取消按钮,当设置为真的时候(true) 按ESC触发改按钮的事件!Default 属性:是否设置成默认的确认按钮,当设置为真的时候 按ENTER键的时候触发事件Hint 属性:设置当鼠标在按钮上短暂停留是显示的提示内容.Showhint 属性: 是否显示提示内容默认为假! Bitbtn 组件Kind 属性: 他的值就是位图按钮组件上所显示的图标!GLYPH 属性: 用于在位图按钮上显

在注册控件时出现对DllRegisterServer的调用失败的解决办法

最近做了一个控件,在WIN7 32位机子上注册控件时出现如下提示: 这样的问题明白人一看就知道这是dll或ocx控件未正确注册的原因,但是怎样解决这个问题,确是比较棘手. 遇到这个问题的时候大家首先能想到的是手动注册该控件.一般有两种方法(1)调用系统本身自带的regsvr32.exe注册器进行注册,但是注册后发现提示注册错误,未能成功注册.这是什么原因呢?难道是没有管理员权限?可我明明是以管理员身份登录电脑的啊.然后便是发送该程序快捷方式到桌面,右键该快捷方式,单击"以管理员身份运行"

Delphi控件-复合控件【转】

复合控件复合控件是Delphi控件中非常重要的一种控件,复合控件就是将两个或两个以上的控件重新组合成一个新的控件.例如TspinEdit.TlabeledEdit.TDBNavigator等就是复合控件,TDBNavigator其实就是在一个Panel放上若干个Button而已.制作一个复合控件时,我们一般从TwinControl派生控件.我们这次做的控件是拥有一个Edit编辑框和一个Button按钮的复合控件,在用户在编辑框中输入文字的过程中,Button将随时显示编辑框中文字的长度.我们把控

Winform中子线程访问界面控件时被阻塞解决方案

public partial class WebData_Import : Form { //声明用于访问主界面的委托类型 public delegate void deleGetOrderdata(string info); //声明访问主界面委托类型的变量 public deleGetOrderdata OptGetOrderData; int CompanyID = 0; public WebData_Import() { InitializeComponent(); cmbCompany