我写的第一篇文章--将for bcb5的组件移植到bcb6中

wangxd 2002-06-19 02:45:29
乾坤大挪移--将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即可解决这个问题。

4.终于可以用了!!别,程序如果用到了mwedit中的控件,编译时会

发生错误,因为mwcustomedit.hpp中的常量WM_MOUSEWHEEL 与系统有

冲突,所以将mwcustomedit.hpp中的static const Word

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

这是一个很典型的例子,您使用其他组件时根据编译出错信息,一般

照此改改即可。祝大家玩的愉快。
注:mwedit是一个很好的edit组件,提供了sql,c++,delphi等语法

高亮显示的功能,而且完全免费,可惜作者只提供了for bcb34的版本

,如果在bcb5下可以直接编译通过,在bcb6下就费些事了^_^。大家可

以去“海阔天空”网站下载mwedit 0.92版本
...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
孩皮妞野 2002-12-12
  • 打赏
  • 举报
回复
ding&mark
zhensong 2002-12-12
  • 打赏
  • 举报
回复
up

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧