TC官方合作论坛

标题: 新手求助 [打印本页]

作者: pyh808    时间: 2014-9-11 16:52
标题: 新手求助
总线程=子线程.子线程功能()
线程.关闭(总线程)


为啥关闭了,子线程还在运行?子线程里面有无线循环。

作者: znyyjk    时间: 2014-9-11 17:11
是不是在线程里还有线程
作者: dear    时间: 2014-9-11 17:23
总线程=子线程.子线程功能()
总线程=线程.开启("空间名.函数名","参数")
作者: pyh808    时间: 2014-9-11 17:44
znyyjk 发表于 2014-9-11 17:11
是不是在线程里还有线程

里面是有线程,也是用同样的方法开启的,因为是用选择,,,,结束,来实现不同情况开启不同功能,不过以前都能关闭成功的,
作者: znyyjk    时间: 2014-9-11 18:29
本帖最后由 znyyjk 于 2014-9-11 18:31 编辑
pyh808 发表于 2014-9-11 17:44
里面是有线程,也是用同样的方法开启的,因为是用选择,,,,结束,来实现不同情况开启不同功能,不过以 ...

不知道,反正我试过很多次在线程里开启线程,有的时候能正常结束,有的时候就不能,所以我现在每开一个线程就保存一个句柄,结束的时候全部关一下

你不会和三楼说的一样连线程的使用方法都不知道吧

作者: 江风影    时间: 2014-9-11 21:21
1\关闭线程前要先停止线程内的无限循环,不然会有关不了或延时关闭的情况
2、如果线程内有子线程,要先关子线程再关母线程,不然会出现关了母线程,子线程还在运行的情况
3、如果能用单线程的情况下就不要用多线程,线程越多,对程序和控制要求越繁杂,如果考虑不到位,程序很不稳定
作者: zxw445    时间: 2014-9-11 22:47


发这两行代码

一个是功能返回参数,也不知道是不是返回线程函数了。
一个是线程关闭

完全看不懂,到底做什么。


作者: pyh808    时间: 2014-9-12 07:58
zxw445 发表于 2014-9-11 22:47
发这两行代码

一个是功能返回参数,也不知道是不是返回线程函数了。

功能 开启()
    总线程=竞技场.竞技场()
功能结束
功能 停止()
    线程.关闭(总线程)
功能结束
功能 竞技场()
    i=0
    循环(i==0)
        如果(窗口句柄!=0)
            找多图=程序路径&"资源\\TF.bmp"&"|"&程序路径&"资源\\竞技场冷却.bmp"&"|"&程序路径&"资源\\竞技次数.bmp"&"|"&程序路径&"资源\\竞技场.bmp"
            界面序号=窗口.找图(窗口句柄,0,0,760,600,找多图,#102030,0.8,1,图片X坐标,图片Y坐标)
            辅助.等待(500)
            选择(界面序号)
                条件 0:
                竞技场.信息显示("打开竞技场")
                窗口.鼠标左键单击(窗口句柄,703,328) //竞技场打开界面
                辅助.等待(3000)        
                条件 1:
                冷却线程=线程.开启("竞技场.结束","")
                返回 假
                条件 2:
                冷却线程=线程.开启("竞技场.已完成","")
                返回 真
                条件 3:
                竞技场.选择排名()//竞技场开始战斗
                默认 :
                竞技场.战斗界面控制()//0.5s
            选择结束
        如果结束
        辅助.等待(1000)            
    循环结束
功能结束




作者: pyh808    时间: 2014-9-12 07:58
江风影 发表于 2014-9-11 21:21
1\关闭线程前要先停止线程内的无限循环,不然会有关不了或延时关闭的情况
2、如果线程内有子线程,要先关子 ...

功能 开启()
    总线程=竞技场.竞技场()
功能结束
功能 停止()
    线程.关闭(总线程)
功能结束
功能 竞技场()
    i=0
    循环(i==0)
        如果(窗口句柄!=0)
            找多图=程序路径&"资源\\TF.bmp"&"|"&程序路径&"资源\\竞技场冷却.bmp"&"|"&程序路径&"资源\\竞技次数.bmp"&"|"&程序路径&"资源\\竞技场.bmp"
            界面序号=窗口.找图(窗口句柄,0,0,760,600,找多图,#102030,0.8,1,图片X坐标,图片Y坐标)
            辅助.等待(500)
            选择(界面序号)
                条件 0:
                竞技场.信息显示("打开竞技场")
                窗口.鼠标左键单击(窗口句柄,703,328) //竞技场打开界面
                辅助.等待(3000)        
                条件 1:
                冷却线程=线程.开启("竞技场.结束","")
                返回 假
                条件 2:
                冷却线程=线程.开启("竞技场.已完成","")
                返回 真
                条件 3:
                竞技场.选择排名()//竞技场开始战斗
                默认 :
                竞技场.战斗界面控制()//0.5s
            选择结束
        如果结束
        辅助.等待(1000)            
    循环结束
功能结束
作者: zxw445    时间: 2014-9-12 08:10
pyh808 发表于 2014-9-12 07:58
功能 开启()
    总线程=竞技场.竞技场()
功能结束

很明显,是错误。

功能什么时候能用在线程上了。

http://bbs.tyuyan.com/forum.php? ... 7029&fromuid=16

看下基础吧,我都不想多说了。
作者: pyh808    时间: 2014-9-12 08:16
zxw445 发表于 2014-9-12 08:10
很明显,是错误。

功能什么时候能用在线程上了。

一直都是这么用的,有电子版的吗?看视屏不方便
作者: zxw445    时间: 2014-9-12 10:49
pyh808 发表于 2014-9-12 08:16
一直都是这么用的,有电子版的吗?看视屏不方便

没有。





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