安装两个BCB6控件SynEdit、mwEdit 0.92a的过程总结

来源:互联网 发布:游戏宣传片制作软件 编辑:程序博客网 时间:2024/06/05 05:25

fm: http://www.daxia.com/bibis/moredata30_1440875_18030.shtml

我的操作步骤:
(1).首先在网络上下载mvEdit 0.92a(mwEditv0·92.rar)和SynEdit(SynEdit_2_0_6.zip)两个控件源码。
(2).用BCB6打开SynEidt工程文件(bcb4的工程)试图编译安装,编译失败(查看后面的转载,修改部分源码就可以)。
(3).大约十多家网站都有转载,可惜没有一家提供缺失文件,可恶的csdn说他有,不注册不让下载。在光盘里找到没有
    完全安装的缺失文件,安装SynEdit控件OK。
(4).mvEdit控件的安装比较麻烦,最后注释掉两个函数,才得以安装成功。还检测到其它控件安装不正确,真是奇了。

希望大家都不要去csdn,他那里非要注册才可以下载的东西在其它地方都可以找到,让人找到又不让下载,真是无耻。

以下是转载的内容:

乾坤大挪移--将for bcb5的组件移植到bcb6中
    大家都知道bcb6已经出来一段时间了,在稳定性和易用性方面有了很大的提高。尤其是网络方面的功

能,如对webserver,snap等都提供了很方便的开发方式。许多朋友也许早就跃跃欲试,可有一个很重要的

原因阻止了他们对bcb6的使用,那就是以前大家用bcb5时搜集了很多for bcb5的组件,可这些组件有很多

并没有及时的出for bcb6的版本。My god,我的ehlib,mwedit,strcon.......,很多朋友已经尝试了在

bcb6下对原来的组件进行重新编译,可总会出现编译失败的局面,是bcb6不向下兼容么?不,只要你有源

代码,理论上可以把for bcb5的任何组件进行移植,只不过需要你对原码进行一些小小的改动

而已。
现在我就以一个非常经典的组件mwedit 0.92为例:
1.因为在bcb6中toolsapi目录中已经取消了DsgnIntf.pas,而把DsgnIntf.pas中的代码分散到了

DesignIntf,designeditors,vcleditors单元中,所以要将

mwEditPropertyReg.pas中的DsgnIntf用DesignIntf,designeditors,vcleditors代替

2.编译bpk时会产生“找不到DesignIntf.dcu,designeditors.dcu

,vcleditors.dcu错误”。好办,你随便建立一个新的工程,把toolsapi目录中的

designIntf.pas,designeditors,pas,vcleditors.pas添加到工程中,编译一下就能产生相应的dcu,obj文

件,把产生的dcu,obj文件拷贝

到bcb6下的lib\obj目录中即可。

3.编译bpk时会产生“不能找到proxies.obj的错误,可borland又没有提供proxies.pas单元,我们无法生

成proxies.obj文件,怎么办?其实根本无需proxies.obj文件,因为在bcb6中已经把proxies.obj的代码编

译进了designide.bpi(dephi6在designied.dcp)。所以在bpk的工程中的requires中添上designide.bpi

即可解决这个问题。

//编译时有个地方存在const变量被赋值的情况,需要修改之。

4.终于可以用了!!别,程序如果用到了mwedit中的控件,编译时会发生错误,因为mwcustomedit.hpp中

的常量WM_MOUSEWHEEL 与系统有冲突,所以将mwcustomedit.hpp中的static const Word WM_MOUSEWHEEL =

0x20a;这一行注释掉即可。

这是一个很典型的例子,您使用其他组件时根据编译出错信息,一般照此改改即可。祝大家玩的愉快。


注:mwedit是一个很好的edit组件,提供了sql,c++,delphi等语法高亮显示的功能,而且完全免费,可

惜作者只提供了for bcb34的版本,如果在bcb5下可以直接编译通过,在bcb6下就费些事了^_^。


d6中已把DsgnIntf.pas分成了好几个单元,如:DesignIntf.pas,DesignEditors.pas等等,如果d5的控件转成d6的话,需要把
DsgnIntf.pas改成DesignIntf.pas,DesignEditors.pas,另外还要加上designide.dcp

\Program   Files\Borland\Delphi5\Source\Toolsapi  
  对就在这里,叫DesignIntf.pas,你把你的程序中的DsgnIntf.pas改为DesignIntf.pas就可以了,但是如果你是装
rxlib2.75你还是按照我上面的会贴去做吧

 

 

原创粉丝点击