TC官方合作论坛

标题: 关于数组与线程的搭配问题,求大神指教 [打印本页]

作者: longlong82    时间: 2012-5-16 20:03
标题: 关于数组与线程的搭配问题,求大神指教
下面附有有代码,求教为什么我这个热键可以每点一次开启一个线程,但却结束不了。。。。。。还是数组不可以这么用?

空间 XXX
整型 i
整型[] 线程句柄集

功能 整型 主程序(字符型 接受句柄)
//////内容
返回 0
功能结束

功能 逻辑型 开启_热键()
线程句柄集=整型[100]
字符型 窗口句柄集=转换.整型转字符型(窗口.鼠标所在窗口句柄())
选择(i)
    条件 1:
           线程句柄集=线程.开启("xxx.主程序",窗口句柄集)
           i=i+1
    条件 2:
           线程句柄集=线程.开启("xxx.主程序",窗口句柄集)
           i=i+1
    条件 3:
           线程句柄集=线程.开启("xxx.主程序",窗口句柄集)
           i=i+1
    默认:
           线程句柄集=线程.开启("xxx.主程序",窗口句柄集)
           i=1
选择结束
辅助.消息框(转换.整型转字符型(i))
返回 真
功能结束

功能 逻辑型 结束_热键()
线程句柄集=整型[100]
线程.关闭(线程句柄集)
i=i-1
线程.关闭(线程句柄集)
i=i-1
线程.关闭(线程句柄集)
i=i-1
线程.关闭(线程句柄集)
返回 真
功能结束
空间结束


作者: cylhb    时间: 2012-5-16 20:10
线程句柄集[ i ]=线程.开启("xxx.主程序",窗口句柄集)  //指明数组哪个元素存放   


线程句柄集=整型[100]   //你在结束热键里面重新定义...覆盖掉了..

直接用一个循环去关闭..
在结束热键里面写..
整型 数组下标=0
循环(数组下标<100)
线程.关闭(线程句柄集[数组下标])  //貌似TC论坛[ i  ]   中间不隔开,会显示不出来...  这里直接用中文代替
循环结束


本身你这样写逻辑就有问题..
为什么用选择去开启呢??这样只要超过3个...句柄存放就乱套了

作者: longlong82    时间: 2012-5-16 21:13
回复 2楼cylhb的帖子

你说的方法我试了,只能把最后开启的一个线程关了,怎么回事?
作者: cylhb    时间: 2012-5-17 12:51
忘了改变下标了..死循环..

在循环结束前应该加一绝
数组下标=数组下标+1
作者: longlong82    时间: 2012-5-17 16:28
回复 4楼cylhb的帖子

我就是加了那个,还是不行。。。。只能关最后开的那个,前面的都关不了,求解
作者: cylhb    时间: 2012-5-17 17:20
空间 XXX
整型 数组下标
整型[] 线程句柄集

功能 逻辑型 开启_热键()
字符型 窗口句柄集=转换.整型转字符型(窗口.鼠标所在窗口句柄())
线程句柄集[数组下标]=线程.开启("xxx.主程序",窗口句柄集)
数组下标=数组下标+1
辅助.消息框(转换.整型转字符型(i))
返回 真
功能结束

功能 逻辑型 结束_热键()
整型 数组下标=0
循环(数组下标<100)
线程.关闭(线程句柄集[数组下标])
循环结束

返回 真
功能结束

空间结束


//注意:数组下标和线程句柄集的初始化赋值,最好不要在热键里面...
在界面添加初始化事件之后,在事件里面进行赋值
数组下标=0
线程句柄=整型[100]
作者: longlong82    时间: 2012-5-17 18:06
回复 6楼cylhb的帖子

多谢指教,我明白这个意思了,虽然还没来得及试,但应该能好用,你的建议我已经采纳




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1