易语言启动线程传递多个类型变量

取文本指针地址

.版本 2
.支持库 spec
 
.子程序 取文本指针地址, 整数型, 公开, 申请空间并获取一个指针地址!
.参数 文本, 文本型
.局部变量 指针地址, 整数型
 
指针地址 = 申请内存 (取文本长度 (文本)1,)
写到内存 (文本, 指针地址, 取文本长度 (文本))
返回 (指针地址)

取整数指针地址

.版本 2
.支持库 spec
 
.子程序 取整数指针地址, 整数型, 公开, 申请空间并获取一个指针地址
.参数 数值, 整数型
.局部变量 指针地址, 整数型
 
指针地址 = 申请内存 (4,)
写到内存 (数值, 指针地址, 4)
返回 (指针地址)

取构造变量数组值_整数型

.版本 2
.支持库 spec
 
.子程序 取构造变量数组值_整数型, 整数型, 公开, 从 构造变量数组 的数组堆里,取出指定成员的指针地址来获得最终数据
.参数 指针地址, 整数型
.参数 索引值, 整数型
.参数 是否释放, 逻辑型, 可空, 建议用完后进行释放
.局部变量 数据指针地址, 整数型
.局部变量 结果_整数型, 整数型
 
数据指针地址 = 指针到整数 (指针地址 + (索引值 - 1) × 4)
结果_整数型 = 指针到整数 (数据指针地址)
.如果真 (是否释放)
    释放内存 (数据指针地址)
.如果真结束
返回 (结果_整数型)

取构造变量数组值_文本型

.版本 2
.支持库 spec
 
.子程序 取构造变量数组值_文本型, 文本型, 公开, 从 构造变量数组 的数组堆里,取出指定成员的指针地址来获得最终数据
.参数 指针地址, 整数型
.参数 索引值, 整数型
.参数 是否释放, 逻辑型, 可空, 建议用完后进行释放
.局部变量 数据指针地址, 整数型
.局部变量 结果_文本型, 文本型
 
数据指针地址 = 指针到整数 (指针地址 + (索引值 - 1) × 4)
结果_文本型 = 指针到文本 (数据指针地址)
.如果真 (是否释放)
    释放内存 (数据指针地址)
.如果真结束
返回 (结果_文本型)

构造变量数组

.版本 2
.支持库 spec
 
.子程序 构造变量数组, 整数型, 公开, 原理:将所有的指针地址,存放到一个 指针数组内!
.参数 变量地址数组, 整数型, 数组
.局部变量 i, 整数型
.局部变量 当前地址, 整数型
.局部变量 指针地址, 整数型
 
指针地址 = 申请内存 (取数组成员数 (变量地址数组) × 4,)
.计次循环首 (取数组成员数 (变量地址数组), i)
    当前地址 = 变量地址数组 [i]
    写到内存 (当前地址, 指针地址 + (i - 1) × 4, 4)
.计次循环尾 ()
返回 (指针地址)

主线程

.版本 2
.支持库 spec
 
.子程序 主线程
.参数 指针地址, 整数型
 
调试输出 (取构造变量数组值_文本型 (指针地址, 1,), “参数1内容”)
调试输出 (取构造变量数组值_文本型 (指针地址, 2,), “参数2内容”)
调试输出 (取构造变量数组值_文本型 (指针地址, 3,), “参数3内容”)
调试输出 (取构造变量数组值_整数型 (指针地址, 4,), “参数4内容”)
' 填真就会释放内存,如果再次调用就取不到,所以建议用完记得释放指针内存
释放内存 (指针地址)

启动线程调用传参

.版本 2
.支持库 EThread
 
.局部变量 地址数组, 整数型, , "0"
 
加入成员 (地址数组, 取文本指针地址 (“我是第一个参数!”))
加入成员 (地址数组, 取文本指针地址 (“我是第二个参数!”))
加入成员 (地址数组, 取文本指针地址 (“我是第三个参数!”))
加入成员 (地址数组, 取整数指针地址 (66666))
启动线程 (&主线程, 构造变量数组 (地址数组), )

发布日期:

所属分类: 易语言 标签: