发生运行时错误!错误信息: attempt to index local 'ide588a4e696ad3a415252' (a null value)

如果不使用多线程启动子程序,即用call子程序(),整个程序会正常运行,但是使用Thread.Start(子程序)时就出现最上面的错误提示信息。经过多次修改测试发现是这个... 如果不使用多线程启动子程序,即用call 子程序(),整个程序会正常运行,但是使用Thread.Start(子程序)时就出现最上面的错误提示信息。
经过多次修改测试发现是这个自定义函数出现了问题
//判断2(数组特征) 判断建筑时间
Function 判断2(数组特征)
Dim arr()
arr=数组特征
判断2 = CmpColorEx(arr(0), 1)
End Function

出现的问题是不是和dim 下列的数组有关?
分1 = Array("70|133|0000B4,71|133|0000D2,71|134|0000D3,71|135|0000D3")
分2 = Array("69|134|0000EB,70|133|0000F8,71|133|0000F9,72|134|0000FB")
分3 = Array("69|134|0000E6,70|133|0000F8,71|133|0000F9,72|134|0000FA")
分4 = Array("71|134|0000D4,70|135|0000D9,69|137|0000E0")
分5 = Array("70|133|0000FB,71|133|0000FB,72|133|0000F6,72|136|0000F8")
分6 = Array("71|133|0000F8,72|133|0000EB,69|135|0000E3,69|136|0000E9")
分7 = Array("69|133|0000F9,70|133|0000F9,71|133|0000F9,72|133|0000FD")
分8 = Array("70|133|0000F7,71|133|0000F9,69|134|0000DC,72|134|0000FB")
分9 = Array("70|133|0000F8,71|133|0000FA,69|134|0000EE,72|134|0000FA")
分0 = Array("70|133|0000F6,71|133|0000F9,69|134|0000DC,72|134|0000F7")

我的子程序()中有
if 判断2(分0)=1 then
m1=0
elseif 判断2(分1)=1 then
m1=1
.
.
elseif 判断2(分0)=1 then
m1=0
else
m1=0
end if

只要有找色的这种自编函数使用,多线程就会提示出错,但是在call中却运行正常
上面输入的程序有误,应该如下:
if 判断2(分1)=1 then
m1=1
elseif 判断2(分2)=1 then
m1=2
.
.
elseif 判断2(分0)=1 then
m1=0
else
m1=0
end if

只要有找色的这种自编函数使用,多线程就会提示出错,但是在call中却运行正常
展开
 我来答
玩玩而已瞬
2016-05-29 · TA获得超过1799个赞
知道小有建树答主
回答量:1089
采纳率:87%
帮助的人:407万
展开全部
如果正常可以运行的话,那可能是多线程获取变量失败了,把变量定义为全局变量看看。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式