|
本帖最后由 mdyblog 于 2013-6-5 12:39 编辑
diannao338 发表于 2013-6-4 23:09 
还发现一个诡异现象
下面由thread ,kill,calc 组成的,结果mess 那倒计时不管设多少都只有'1秒'的时间,而我 ...
date _hs1 uptime
pcip *qkos ,,,,=无线网络连接,0
pcip *qkos ,,,,=无线网络连接,1
date _hs2 uptime
calc hs=%_hs2%-%_hs1% #2
mess 完成\n耗时%hs% ms @提示 #OK*5000
////////
读时间需要一次拿完, 不要分次拿在瓶醋。
/////////////////
哦, 你说的是 MESS 的超时 不起作用?
是的。 你用的是THREAD 而不是THREAD*, 这样主线程不等子线程的。
主线程的唯一窗口 KILL 后, 主线程 进入终结状态,从而整个程序 进入终结状态。于是MESS 匆忙退出
如果 MESS 超时 是5001毫秒,退出的更快,一瞬间。
用THREAD* 或直接 CALL doit
其实标准的做法是:先隐藏,干完活再KILL。这样清楚多了。
envi name=xpsp3测试
Win1
_SUB WIN1,W289H311,%name%
ITEM ITEM2,L72T21W60H30,确定,call doit
_END
_SUB doit
ENVI @this.visable=0 //先隐藏,
date _hs1 uptime
pcip *qkos ,,,,=本地连接 2,0
pcip *qkos ,,,,=本地连接 2,1
date _hs2 uptime
calc hs=(%_hs2% - %_hs1%) / 1000 #3
mess 完成\n耗时%hs%秒 @提示 #OK*5000
kill \ //干完活再KILL
_END
|
|