afan
发表于 2012-12-12 21:31:17
回复 45# cfs43210
AdlibRegister("detect2", 1000 * 60 * 30) ;30分钟
AdlibRegister("detect3", 1000 * 60 * 60) ;60分钟
这两个改到 While 下永远都不会执行吧,30分钟、60分钟… 估计每次时间还未到执行的时间就又被重置了…
另外,你的两层主循环完全可以用一个循环吧While 1
If "ping=False" Then
;代码
Sleep(1000 * 60 * 3)
ContinueLoop
ElseIf "文件<>0" Then
If "服务器网络通" Then
;代码
Sleep(1000 * 60 * 2)
ContinueLoop
Else
;代码
Sleep(1000 * 60 * 30)
ContinueLoop
EndIf
Else
Sleep(1000 * 60 * 5)
EndIf
WEnd再 p.s, Sleep 太久会睡死……
cfs43210
发表于 2012-12-12 21:45:26
本帖最后由 cfs43210 于 2012-12-12 21:48 编辑
回复 46# afan
高手出手果然是不同,怎么我会想到用2层循环。另外我不是放 AdlibRegister放到While下,而是放detect2()放到While 最后去。谢谢你,你太厉害了!
不知道放在While 下延时30分钟,工作一段时间后会不会出现不循环,象是卡死一样。
cfs43210
发表于 2012-12-12 21:59:08
回复 46# afan
高手出手果然是不同,怎么我会想到用2层循环。另外我不是放 AdlibRegister放到While下,而是放detect2()放到While 最后去。谢谢你,你太厉害了!
不知道放在While 下延时30分钟,工作一段时间后会不会出现不循环,象是卡死一样。出现这现象问题可能会现在哪呢?谢谢!能给个回复!
afan
发表于 2012-12-12 22:02:05
回复 48# cfs43210
当然,光 Sleep() 是不会有什么问题的,问题在于你的工作代码可能会导致循环 Sleep() ,这需要你自己在工作代码中排查。
cfs43210
发表于 2012-12-12 22:16:35
回复 49# afan
我的工作代码没有其它循环,只有下载和一个时钟前置窗口。其它都是IF较多。先出掉一层循环用用看。谢谢啦!
baiqmdpdc
发表于 2012-12-15 20:53:57
学习学习...