主题:Timer控件的使用
HWLIU14927
[专家分:0] 发布于 2008-08-09 15:42:00
請教大家:
Timer控件在使用時,如時間屬性設定為100ms,而在Timer內的事件程序需要300ms來處理,那出現怎樣的情況?是處理完程序正常退出後再按 Timer的時間屬性重新調用程序,還是不管程序已處理完否,只要時間屬性的100ms一到就又調用這個程序?怎樣設計一個程序來測試?
謝謝了
回复列表 (共4个回复)
沙发
snyga [专家分:1480] 发布于 2008-08-09 18:32:00
当然是执行完程序才会重新调用了
VB是单线程程序 除非你用了多线程
不过有的控件是多线程的 比如 webbrowser ...
你要测试的话用这个:
Private Sub Timer1_Timer()
Static k As Long
k = k + 1
Do Until k = 300
DoEvents
Loop
End Sub
k 始终第一次的 k+1=0+1=1
所以不会退出 do 因为根本没再次执行 k=k+1
板凳
一江秋水 [专家分:9680] 发布于 2008-08-10 09:32:00
1楼很对
3 楼
老大徒伤悲 [专家分:29120] 发布于 2008-08-10 14:53:00
我的看法是,不会等待,而造成资源透支。从而死机。
当然仅是猜想,也不知道正确与否。
4 楼
一江秋水 [专家分:9680] 发布于 2008-08-11 08:28:00
3楼错误,Timer 事件是同步执行方式
我来回复