易语言吧 关注:266,546贴子:1,664,588

【zhy】易包使用教程

只看楼主收藏回复

最近感觉易语言5.3版本吴大大推出的易包功能似乎没有多少人理它(可能是因为不能静态编译),我感觉怪怪的,于是决定)帮吴大大重(zhuang)振(bi)易包旗鼓。本教程是专门针对易包的教程。

注:第一张图是@樉当年截的图:http://tieba.baidu.com/p/3378644034


1楼2017-02-01 17:15回复


    IP属地:广东来自Android客户端3楼2017-02-01 17:15
    收起回复
      4l


      4楼2017-02-01 17:19
      收起回复
        直播上镜


        IP属地:河北来自iPhone客户端5楼2017-02-01 17:28
        收起回复
          开更——


          6楼2017-02-01 17:38
          收起回复
            第一部分:易包基础教程


            7楼2017-02-01 17:39
            收起回复
              一、载入易包
              载入易包有两种方式:
              (1)载入文件
              (2)载入字节集(可以直接从字节集中载入易包,这正是易包的方便之处)
              ①载入易包文件————————————————————————
              〈逻辑型〉 载入易包文件 (文本型 易包文件名,[文本型 易包名称])
              预先载入所指定的易包文件(如果文件名未提供后缀则默认为".epk"),防止系统以后在程序中调用到该易包内公开子程序时采用默认方法自动载入.成功返回真,失败返回假.所载入易包不需要刻意去释放,在程序退出时会自动被释放.本命令不支持在多线程环境和静态编译模式下使用.
              ②载入易包数据(字节集)————————————————————————
              〈逻辑型〉 载入易包数据 (文本型 易包名称,字节集 易包数据)
              预先载入所指定易包的数据,防止系统以后在程序中调用到该易包内公开子程序时采用默认方法自动载入.成功返回真,失败返回假.所载入易包不需要刻意去释放,在程序退出时会自动被释放.本命令不支持在多线程环境和静态编译模式下使用。
              ————————————————————————————
              记住为你的易包定一个名称,这对接下来的编程至关重要。
              例子:这两个代码是同效的:
              载入易包文件 (“demo.epk”, “epk”)
              载入易包数据 (“epk”, 读入文件 (“demo.epk”))


              8楼2017-02-01 17:48
              回复
                二、卸载易包
                用完一个易包后,如果想用同一个名称载入易包,务必要先卸载原来的易包。
                ——————————————————————————————————————
                〈逻辑型〉 卸载易包 (文本型 易包名称)
                英文名称:UnloadEPK
                卸载已被载入的指定名称的易包,成功返回真,失败返回假.本命令不支持在多线程环境和静态编译模式下使用.执行本命令前,必须确保以下几点,否则后果无法预测:
                1. 在当前子程序执行堆栈中不存在所指定易包内的任何子程序;
                2. 所指定易包符合可卸载规范: 任何使用文本/字节集/数组直接常量数据对易包公开子程序以显式或隐式参考方式传递进来的参数进行赋值时,都必须使用"复制常量"方法将该数据脱离常量状态,避免本易包被动态卸载后,外部调用程序引用该常量数据出错.
                另外,最好所指定易包内加载的所有窗口均已经被关闭.本命令为高级命令。
                参数<1>的名称为“易包名称”,类型为“文本型(text)”。指定欲操作易包的名称。
                ——————————————————————————————————————
                例子:卸载易包 (“epk”)


                10楼2017-02-01 17:50
                收起回复
                  三、使用易包
                  在易语言5.3版本之后,子程序新增了一个选项:易包
                  那么这个东东是用来干啥的呢?
                  应该是用来插♂入易包的吧
                  恩,你真聪明
                  上面提到的易包名称,到这里就派上用场了
                  在上面,我们将易包名称定为“epk”,那么在这里就填epk:

                  然后……我们……运行一下~
                  见证奇迹的时候到了……

                  刚才我们成功执行了代码……只是……没有易包文件,怎么执行易包
                  好吧……我们新建一个易语言模块,建立子程序1,务必公开,如图所示:

                  编译时务必选择“编译为易包”:

                  编译为“demo.epk”,遇到这个窗口请无视,立即选否:

                  保存在同一目录下,然后运行原来的程序:

                  成功了!


                  12楼2017-02-01 18:07
                  收起回复
                    上面编译易包所附带的易模块没有用,可以删掉了
                    另外,如果易包子程序有返回值,务必设置好返回值类型,要对应:


                    13楼2017-02-01 18:10
                    回复
                      基础教程结束接下来是实际例程


                      14楼2017-02-01 18:12
                      回复
                        有人再更新


                        15楼2017-02-01 18:15
                        回复
                          一句话:就是dll一样的方法,此帖终结


                          IP属地:广东来自Android客户端16楼2017-02-01 18:20
                          收起回复
                            我是人


                            IP属地:广西来自Android客户端17楼2017-02-01 18:21
                            回复