TC官方合作论坛

标题: 求解 while 循环无法在主线程使用吗? [打印本页]

作者: hantianxue    时间: 2017-10-19 20:59
标题: 求解 while 循环无法在主线程使用吗?
本帖最后由 hantianxue 于 2017-10-19 21:46 编辑
  1. function 测试循环()
  2.     var n=0
  3.     while(true)
  4.         n++
  5.         if(n>1000)
  6.             break
  7.         end
  8.         编辑框设置文本("编辑框1",n)//为了能看到运行状态,建立一个编辑框显示n的值
  9.         sleep(500)
  10.     end
  11.     messagebox("循环停止")
  12. end

  13. function 按钮1_点击()
  14.     测试循环()
  15. end
复制代码



这样的循环代码直接写在主线程里,不启用多线程的方式,直接用按钮1点击来调用,
可是,在运行中,点击了按钮1,程序直接无响应了,
难道while循环无法在主线程使用?


作者: cjxdn    时间: 2017-10-19 21:47

循环
遍历
等待

这3个 都要用线程开启

想知道为什么自己1个个测试
作者: 武昌剩竹    时间: 2017-10-19 21:55
等待(500,假)
作者: hantianxue    时间: 2017-10-19 22:50


循环
遍历
等待

这3个 都要用线程开启

想知道为什么自己1个个测试

刚刚翻了翻之前的教程,已经明白了,
主线程本身是在无限循环的,
如果在主线程加入死循环,或者长时间等待,之类的
会吧主线程的循环阻塞,造成程序无响应。


作者: hantianxue    时间: 2017-10-19 22:52
武昌剩竹 发表于 2017-10-19 21:55
等待(500,假)

感谢,
用“等待(XX,假)”,非阻塞方法,
就可以正常运行了。

作者: 2596060677    时间: 2017-10-20 10:37

等待(500,假)
作者: 2596060677    时间: 2017-10-20 10:39


等待(500,假)  等待(500,假)




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