Für mein aktuelles Projekt brauch ich in manchen Fälle 2 Timer die gleichzeitg laufen, und dann bei Ablauf von der uElapse Zeit ein Fenster öffnen...
vereinfacht schaut das so aus...
Code: Alles auswählen
Procedure timer_1(hwnd, uMsg, idEvent, dwEvent)
;Static uMsg
ende_window_1 = 0
KillTimer_(hwnd, 10)
OpenWindow(1, 100, 100, 200, 200, Str(idEvent) + " " + Str(uMsg))
StickyWindow(1, 1)
Repeat
event =WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
ende_window_1 = 1
EndSelect
Until ende_window_1 = 1
CloseWindow(1)
;KillTimer_(hwnd, 10)
EndProcedure
Procedure timer_2(hwnd, uMsg, idEvent, dwEvent)
;Static uMsg
ende_window_2 = 0
KillTimer_(hwnd, 20)
OpenWindow(2, 500, 500, 200, 200, Str(idEvent) + " " + Str(uMsg))
StickyWindow(2, 1)
Repeat
event =WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
ende_window_2 = 1
EndSelect
Until ende_window_2 = 1
CloseWindow(2)
EndProcedure
ende = 0
hwnd = OpenWindow(0, 100, 100, 500, 500, "Timer")
SetTimer_(hWnd, 10, 5000, @timer_1())
SetTimer_(hWnd, 20, 10000, @timer_2())
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
Ende = 1
EndSelect
Until ende = 1
nur ein Problem besteht noch, und zwar wird ja window 1 vor window 2 geöffnet...
wartet man bis beide Fenster offen sind, und versucht dann Window 1 zu schließen, dann wird window 2 geschlossen, nicht window 1...
wie kann ich das umgehen?