易语言易包技术说明与使用指南.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

易包

一.什么是易包

如果说易模块相当于C语言里面的lib文件,则易包就相当于dll文件,也就是说,易模

块是在易程序之间建立静态共享,而易包是建立动态共享,避免以前易模块修改后需

要重新编译所有使用了它的易程序的问题.

普通的易语言程序使用”编译-编译为易包”菜单功能就可以编译为易包.里面的所有

公开子程序将被到其外部供其它程序或易包调用.

所编译的易包是基于机器码的易格式数据,不存在效率问题,也不存在被反编译为易

语言源代码的可能.

二.易包中怎么对外公开子程序

选中子程序的公开属性即可:

三.怎么调用其它易包中的公开子程序

假设我们需要在程序中调用”myepk1”易包内公开的”来自易包1的子程序1”子程序,

需要做以下两件事:

1.将”myepk1”易包中的该子程序部分过来;

2.在其”易包”属性中填入所的外部易包名称.

以后就可以像正常子程序一样调用了.

请参见”samp\易包\易包及易包之间相用”目录内的相关例程

四.怎么快捷调用其它易包中的公开子程序

在编译易包时,会同步生成一个同名易模块文件,该模块对外了此易包内的所有

公开数据(子程序、数据类型、资源、常量、Dll命令等),将此模块导入到需要使用此

易包的程序中后,就可以直接该易包中的所有公开数据了.

基于此机制,可以避免所发布软件中的易包文件被使用(不对外对应模块文

件即可).

五.易包的初始化

易包在被载入的时候会自动载入其启动窗口或调用其启动子程序(根据其所设置的

启动方式而定).

具体请参见”samp\易包\易包初始化”目录内的相关例程.

六.易包与易模块配合使用

易模块可以考虑将将实际实现代码编译为一个易包,在模块中仅对外对此易包

的,以彻底防止易模块被.

具体请参见”samp\易包\易包与易模块配合使用”目录内的相关例程.

另外,编译易包时会同步生成一个易模块文件,将该模块文件到你的程序中就可

以直接使用易包了.

七.预载入易包

默认情况下,在调用外部易包中的子程序时,由系统自动载入相关的易包,但是在某些

特殊情况下,可能想覆盖掉此默认操作,在调用外部易包中的子程序前调用相关载入

命令即可.

具体请参见”samp\易包\预载入易包”目录内的相关例程.

八.动态卸载易包

已显式或隐式载入的易包可以使用”卸载易包”命令进行动态卸载,如果希望所开发的

易包支持动态卸载,必须满足以下要求:

任何使用文本/字节集/数组直接常量数据对易包公开子程序以显式或隐式参考方

式传递进来的参数进行赋值时,都必须使用易包常量命令将该数据脱离常量状

态,避免本易包态卸载后,外部调用程序该常量数据出错.

此规则的另一种阐述方式:

对于类似参数=常量或参数.xx=常量等语句,同时满足以下要求,就需要

将常量使用易包常量(常量)代替:

1.参数为本易包的公开子程序以显式或隐式参考方式传递进来的参数;

2.常量为一个直接的文本/字节集/数组常量

此规则最简单的记忆方式:

不修改公开子程序的参数,也不将公开子程序的参数传递到其它子程序,所有需要

传递回去的复杂数据均通过一个自定义数据类型返回.

避免此规则的最简单处理方式:

在公开子程序的首部将所有以显式或隐式参考方式传递过来的参数赋值到一个局

部变量中,以后只对这些局部变量进行操作即可.

具体请参见”samp\易包\动态卸载易包”目录内的相关例程.

九.其它

1.静态编译程序中由于库代码不全,无法使用易包;

2.可以直接使用所的el.exe(源码已公开)启动易包,也可以使用相关载入命令在

易语言程序中启动.具体请参见”samp\易包\启动易包”目录内的相关例程.

文档评论(0)

daluobu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档