If the timeout value of WaitWindowEvent() is very low, then event 0 is retured, but with high value, value 280 is returned instead of 0.
What's that event?
Tested on XP SP2, PB v4.40 b6 x86. (compile with unicode option)
Code: Select all
Procedure wndproc(h, m, w, l)
res = #PB_ProcessPureBasicEvents
Debug "wndproc " + Str(m)
ProcedureReturn res
EndProcedure
If OpenWindow(0, 0, 0, 230, 190, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
;SetWindowCallback(@wndproc())
StringGadget(1, 10, 10, 200, 20, "")
SetActiveGadget(1)
EditorGadget(2, 10, 40, 200, 120)
;SetActiveGadget(2)
Repeat
;Event = WaitWindowEvent(100)
Event = WaitWindowEvent(2000)
;Event = WaitWindowEvent(4000)
Debug "main " + Str(Event)
If Event = 0
Debug "do something..."
ElseIf Event = #PB_Event_Gadget
Debug EventGadget()
EndIf
Until Event = #PB_Event_CloseWindow
EndIfdebug result. (timeout = 2000)
...
...
[21:29:39] main 280
[21:29:40] main 280
[21:29:40] main 280
[21:29:41] main 280
[21:29:42] main 280
[21:29:42] main 280
[21:29:43] main 280
[21:29:43] main 280
[21:29:44] main 280
[21:29:44] main 280
[21:29:45] main 280
[21:29:45] main 280
[21:29:46] main 280
[21:29:46] main 280
[21:29:47] main 280
[21:29:47] main 280
[21:29:48] main 280
...
...
debug (timeout = 100)
[21:54:27] main 0
[21:54:27] do something...
[21:54:27] main 0
[21:54:27] do something...
[21:54:27] main 280 <----
[21:54:27] main 0
[21:54:27] do something...
[21:54:27] main 0
[21:54:27] do something...
[21:54:27] main 0
[21:54:27] do something...
[21:54:27] main 0
[21:54:27] do something...
[21:54:27] main 0
[21:54:27] do something...
[21:54:27] main 280 <----
[21:54:27] main 0
[21:54:27] do something...
[21:54:28] main 0
[21:54:28] do something...
[21:54:28] main 0
[21:54:28] do something...
[21:54:28] main 0
[21:54:28] do something...
[21:54:28] main 0
[21:54:28] do something...
[21:54:28] main 280 <----
[21:54:28] main 0
[21:54:28] do something...
