广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    分享易语言DLL取自定义数据数组

    来源:网络收集  点击:  时间:2024-01-23
    【导读】:
    平时用易语言写一些小工具时,可能会用到DLL传递数组,易语言又只支持返回常规类型,这时候我们可以使用该方法来取回原来的数据结构数组。工具/原料more易语言电脑方法/步骤1/3分步阅读

    首先新建一个空的DLL,然后新建一个数据类型如:

    .版本 2.数据类型 数据类型1 .成员 a, 逻辑型 .成员 b, 小数型 .成员 c, 双精度小数型 .成员 d, 长整数型 .成员 e, 整数型 .成员 f, 字节集

    2/3

    在新建一个公开的子程序

    .版本 2.支持库 spec.子程序 info, 整数型, 公开.局部变量 x, 数据类型1, , 0.局部变量 a, 数据类型1清除数组 (x)a.a = 真a.b = 3.1a.c = 3.1415926a.d = 81357707a.f = { 1, 2, 3 }加入成员 (x, a)加入成员 (x, a)返回 (取变量地址 (x))

    3/3

    把新建的写好的DLL编译出来

    方法/步骤21/3

    然后在新建一个新的易程序,插入一个新的DLL命令.版本 2.DLL命令 DLL命令1, 整数型, info.dll, info

    2/3

    并把刚才DLL里面的自定义数据复制过来

    .版本 2.数据类型 数据类型1 .成员 a, 逻辑型 .成员 b, 小数型 .成员 c, 双精度小数型 .成员 d, 长整数型 .成员 e, 整数型 .成员 f, 字节集

    3/3

    然后新建一个子程序,代码如下:

    .版本 2.支持库 spec.子程序 还原数组, , , 还原自定义数据 数组.局部变量 变量地址.局部变量 还原为字节集, 字节集.局部变量 字节集长度, 字节集.局部变量 还原数据长度.局部变量 x, 数据类型1, 静态, 0.局部变量 i, 整数型变量地址 = DLL命令1 ()还原为字节集 = 指针到字节集 (变量地址, 4)字节集长度 = 指针到字节集 (取变量地址 (还原为字节集 ) - 4, 4)还原数据长度 = 取字节集数据 (字节集长度, 3, 1)写到内存 (还原为字节集, 取变量地址 (x), 还原数据长度).计次循环首 (取数组成员数 (x), i) 调试输出 (x .a, x .b, x .c, x .d, x .e, x .f).计次循环尾 ()调试输出 (取数组成员数 (x))

    方法/步骤31/1

    运行后结果如下:

    注意事项

    注意DLL内的数组变量一定要构选静态,否则变量将很快被释放掉

    还原的调用子程序用于接收数组信息,也一定要勾上静态否则会出错

    此方法可能不如汇编指令强大,如果您有更好的方法欢迎交流,共同学习

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_4996.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 18:42:24  耗时:0.025
    0.0253s