用“易写易库(EXEK)”为易语言3.0开发支持库?

用“易写易库(EXEK)”为易语言3.0开发支持库,能行得通吗?今晚(严格地是昨晚)我(liigo)做了些尝试,结果不甚理想。

现在易语言最新版本都4.11了,为啥还要给易语言3.0开发支持库呢?呵呵,只是一时兴起而已,没有特别的用意。如果非要找一点理由的话,我认为是:易写易库(EXEK)支持开发带动态图标的命令和命令参数,而这只能在易语言3.x版本中才能展现出来。

我的尝试过程和结果如下:

我把一个用易语言4.1编译出的支持库文件复制到易语言3.0的lib目录下,发现易语言3.0根本无法启动,最后找到原因是:易语言4.1编译出的支持库文件依赖最新的核心支持库4.5版,而易语言3.0版的核心库(3.0版本)与易语言4.1版本的核心库(4.5版本)无法共存。

好吧,用易语言4.1编译不行,用易语言3.0编译总可以了吧。我把支持库源代码(.e)用尝试易语言3.0打开,结果打开失败,更不用说编译了。

好吧,3.0不行,我用3.8,这是易语言3.x系列的最后一个版本。先把4.1编译的支持库文件拿过去,无法加载,依赖核心库4.5,结果跟前面一样。用易3.8打开“易写易库(EXEK)”模块的源代码,勉强能打开,但丢了不少代码,根本编译不了。打开支持库源代码,打开了,稍加整理,载入4.1编译出的EXEK模块(.ec),也成功了,编译,易语言3.8挂了!重复前面的动作,结果是一样的。

结论:易语言3.x无法使用易语言4.x编译出的DLL;易语言3.x一般打不开易语言4.x生成的源代码文件(*.e),即使有时勉强打开了也会丢失部分代码;易语言3.x可以导入易语言4.x编译出的易模块(*.ec),但不能保证编译通过。

对于“易语言3.x无法使用易语言4.x编译出的DLL”这一条,我有些不明白,为什么易语言4.x编译出的DLL要依赖最新版本的核心库呢?按说,只要该DLL没用到什么新特性,应该可以重用3.x版本的核心库。

当然,这不是什么大不了的事情。从来都是新版兼容旧版,要求旧版去兼容新版,似乎要求太过份。

暂时不能在易语言3.x的IDE中,看到我的支持库中定义的命令动态图标和参数动态图标,稍稍有些失落。

哎,我又想到,把易语言4.x编译出的支持库,经过“斩月”处理,应该就可以被易语言3.x正常加载了吧?“易写易库(EXEK)”模块未用到除核心库之外的其它支持库,估计可以被“斩月”处理,有机会尝试一下。耶,暂时保留希望。

 

2008.10.1补记:

本文所提出的问题,已经有了肯定的答案,详见:易写易库(EXEK)玩“花”儿之三:命令有图标支持库,附图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值