yufei8051 发表于 2012-11-4 22:42:09

(已解决)用定时器定时执行一个子程序,为什么它不干活?

本帖最后由 yufei8051 于 2012-11-5 21:06 编辑

比如以下代码,让定时器没10秒运行一次,显示下面的对话框,死活干不了,错在哪了?请老师指点,不胜感激!

AdlibRegister("kssm",10000);打开定时器

Func kssm()
        MsgBox(262144, "调试_死活不行了", "干不干",5)
EndFunc

seeyou 发表于 2012-11-4 23:08:51

少了
while True
Sleep(100)
WEnd

yufei8051 发表于 2012-11-5 07:15:51

感谢楼上回复!
能更详细点吗?以上面的源码为例可以麻烦你完整的写出来吗?我水平太菜,只会照猫画虎

yufei8051 发表于 2012-11-5 07:21:52

另外,如果在1楼的程序执行中我想做点别的事儿,是不是只要用 AdlibunRegister 解除,上面的程序就停止了?当我再想运行它时,再用 AdlibRegister 它就会继续执行?劳请高手指点,不胜感谢

yufei8051 发表于 2012-11-5 07:23:56

麻烦高手回复时写具体程序,本人太菜,不好意思

shqf 发表于 2012-11-5 09:58:35

许多人认为自己是太菜,其实不是太菜,而是缺少去试验、去实践的精神。2楼已经说了问题所在,试一下就解决了问题,却还在说要具体的代码。唉~
2 楼不是说你缺了那三行代码吗?加在你的代码之后,就行。如下AdlibRegister("kssm",10000);打开定时器
Func kssm()
      MsgBox(262144, "调试_死活不行了", "干不干",5)
EndFunc
while True
Sleep(100)
WEnd,当然程序如美观一点吧,可把那三行代码放在自定义函数之前,让自定义函数放在最后,AdlibRegister("kssm",10000);打开定时器
while True
Sleep(100)
WEnd

Func kssm()
      MsgBox(262144, "调试_死活不行了", "干不干",5)
EndFunc
其实你的问题所在是4 行代码执行后程序已经就结束了,可能要几豪秒,也可能是微秒级的吧,所以不可能在10秒后弹出什么窗口。程序执行到最后如没有代码了,会执行了一个exit,结束运行,再也不可能有什么奇迹发生了。如加上循环,让程序执行时间超过10秒,你就能看到弹出窗口了。

annybaby 发表于 2012-11-5 10:37:02

楼上说的对!!

yufei8051 发表于 2012-11-5 21:05:11

衷心感谢楼上几位特别是2楼和6楼的回复!不胜感激!
问题解决,祝各位晚安!
页: [1]
查看完整版本: (已解决)用定时器定时执行一个子程序,为什么它不干活?