TC官方合作论坛

 找回密码
 立即注册
查看: 1336|回复: 3

求助。在按钮单击事件,热键事件中,放入while(1)…end,界面就会卡死。这是什么?

[复制链接]
发表于 2016-2-29 09:39:44 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

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

x
求助。在按钮单击事件,热键事件中,放入while(1)…end,界面就会卡死。这是什么?

定时器除外。

回复

使用道具 举报

发表于 2016-3-3 05:00:10 | 显示全部楼层
做成死循环吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-3 15:47:05 来自手机 | 显示全部楼层
freedsai 发表于 2016-3-3 05:00
做成死循环吗?

是呀。在点击事件中开启一个线程。
在新开启的线程中放入死循环,就不会卡死。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-9 14:04:48 来自手机 | 显示全部楼层
时间过去多日,这个问题已经解决。记录一下学习心得。

设置关键词,其它的读者可以找到这文章,帮助更多的人。为TC的论坛增加人气。
关键词:
TC的代码,为什么会卡死?

TC界面中的代码,为什么会卡死?

界面中的代码,为什么会卡死?


界面事件发生以后,必须要有退出。循环找图的代码不能写入按钮点击事件,热键启动事件里面。

否则,

界面事件因为长时间不能退出,所以就会卡死。

//

循环找图代码,要写在新建立的线程中,在线程中循环。

//

//

var 线程ID

功能 按钮0_点击()

线程ID=线程开启("循环找图","")

结束

结束

//

功能 启动_热键()

线程ID=线程开启("循环找图","")

结束

功能 循环找图()

while(true)

//找图的代码。

sleep(60)
end

结束
这也是C++的语法。学会这个方法,将来学习vs2010合集里面的vc++2010,会少走很多弯路。

//
一骑绝尘:     09:52:54 界面卡死,应该是卡了UI线程
云工程师02:     09:53:34 按钮触发的事情代码是在UI线程中执行 如果你的代码运行死循环 界面接收到任何消息就会处于假死状态 所以执行循环,执行等待功能 推荐在开辟新线程中执行
平静的生活。:     09:51:52 贴吧的朋友说他用TC循环找图,经常卡死。
云工程师02:     09:53:56 不是经常,是必然卡死。

追溯流年、铭刻谁的印记:     09:57:27
这是常识,啥语言都一样
循环想写在界面里,必须要做同步处理。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-17 16:08 , Processed in 0.039241 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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