找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1679|回复: 4

[已回复] 多线程数组传递问题

[复制链接]

10

主题

17

回帖

27

积分

学前班

鲜花
0
猫粮
86
发表于 2022-3-8 14:33:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 youaremysky 于 2022-3-8 18:28 编辑

[按键精灵] 纯文本查看 复制代码
DimEnv 数组(6),方案,识别(8,8)
Event Form1.Button1.Click
    测试id = BeginThread(测试)
    Delay 1000
    传递id = BeginThread(传递)
End Event
Sub 测试
    数组(4) = 1 
    方案='1,2,3,4'
    方案array = split(方案, ',')
    识别(1,1)=3
End Sub
Sub 传递
    TracePrint 方案array(2)
    TracePrint 数组(4)
    TracePrint 识别(1,1)
End Sub

这里我想让数组变量传递到线程传递里,但是都不行。
调试信息是下界越标或者数据不匹配。。
请问应该怎么写才能多线程传递数组呢

我看了紫猫老师发的那个多线程传递数组的帖子
我自己写的报错.
[按键精灵] 纯文本查看 复制代码
Global 一个数组(2)
Event Form1.Button1.Click
    测=BeginThread(主程序)
End Event
Sub 主程序
    一个数组(1) = "老师"
    TracePrint 一个数组(1)
    Delay 1000
     等=BeginThread(测试)
End Sub
Sub 测试()
    TracePrint 一个数组(1)
End Sub

上面是我写的,运行报错
紫猫老师的部分,运行就完全没问题,我实在找不到这两者的差别在哪里,但是我写的那个就是要报错,报"下标越界: '[number: 1]'"
下面是紫猫老师帖子里提取的,运行没问题
   
[按键精灵] 纯文本查看 复制代码
Global 静态数组(2)
Event Form1.Button1.Click
    测=BeginThread(主程序)
End Event
Sub 主程序
    静态数组(1) = "老师"
    TracePrint 静态数组(1)
    Delay 1000
    等=BeginThread(测试)
End Sub
Sub 测试()
    TracePrint 静态数组(1)
End Sub


神奇的是,如果我在没问题的这个脚本里,用查找替换功能把"静态数组"换成其他的,同样报错.莫非只能用这四个字吗?
楼主热帖

10

主题

17

回帖

27

积分

学前班

鲜花
0
猫粮
86
 楼主| 发表于 2022-3-8 18:38:17 | 显示全部楼层
抱歉,我又测试了一下,我提取那个其实也报错,之前不报错是因为我是从紫猫老师原帖里直接修改的,它可能静态数组这个变量还在里面所以没报错,但是如果新开一个脚本同样是会报错的..但是为什么啊....
  • 打卡等级:坠落山崖

1082

主题

2110

回帖

4294

积分

院长

鲜花
7
猫粮
6352
QQ
发表于 2022-3-10 14:55:57 | 显示全部楼层
[按键精灵] 纯文本查看 复制代码
Global 一个数组(2)
Event Form1.Button1.Click
    测=BeginThread(主程序)
End Event
Sub 主程序
    一个数组(1) = "老师"
    TracePrint 一个数组(1)
    Delay 1000
     等=BeginThread(测试)
End Sub
Sub 测试()
    TracePrint 一个数组(1)
End Sub

[按键精灵] 纯文本查看 复制代码
Global 静态数组(2)
Event Form1.Button1.Click
    测=BeginThread(主程序)
End Event
Sub 主程序
    静态数组(1) = "老师"
    TracePrint 静态数组(1)
    Delay 1000
    等=BeginThread(测试)
End Sub
Sub 测试()
    TracePrint 静态数组(1)
End Sub

这两段代码经过测试均正常执行,请检查你自己的按键精灵版本是否为最新版。
至于你的第一段代码报错,那是因为存在动态数组,详见我前面教程帖子中关于封装动态数组读写处理的函数。

0

主题

1

回帖

1

积分

按键电脑班学员

鲜花
0
猫粮
16
发表于 2022-3-11 00:32:18 | 显示全部楼层
按键精灵版本要最新版

10

主题

17

回帖

27

积分

学前班

鲜花
0
猫粮
86
 楼主| 发表于 2022-3-12 17:18:36 来自手机 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-5-2 09:57

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表