Seite 1 von 1

WindowTimer

Verfasst: 26.08.2022 14:47
von stab
Kurze Frage:

Lt. Hilfe muss bei Änderung des Timers dieser vorher gelöscht werden.

Code: Alles auswählen

RemoveWindowTimer(#Window, Timer)
AddWindowTimer(#Window, Timer, Timeout)
Hatte ich bisher nie gemacht, es funktioniert auch so:

Code: Alles auswählen

 If OpenWindow(0, 0, 0, 400, 100, "Timer Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ProgressBarGadget(0, 10, 10, 380, 20, 0, 100)
    AddWindowTimer(0, 123, 250)
    AddWindowTimer(0, 123, 1250)
    Value = 0
    Repeat
      Event = WaitWindowEvent()
      
      If Event = #PB_Event_Timer And EventTimer() = 123
        Value = (Value + 5) % 100
        SetGadgetState(0, Value)
      EndIf    
     
    Until Event = #PB_Event_CloseWindow
  EndIf
Verursacht das irgentwelche Probleme?

Re: WindowTimer

Verfasst: 26.08.2022 14:58
von tft
Hallo,

ich denke das mittlerweile das Remove nicht mehr benötigt wird, so fiele Timer erzeugt man ja nicht. Allerdings hängt das ja auch damit zusammen. Das das Event ja nur durch den Timer ermittelt wird. Zwei Event mit dem gleichen Timer geht nicht. Somit läuft der erste noch .Aber das Event wird nur für das letzte generiert. Also am besten Removen bevor neu definiert wird. Sonst stapeln sich die Timer im Nirvana. Denke ich mal so ...... in meinem Jugendlichen Leichtsinn

gruss TFT

Re: WindowTimer

Verfasst: 26.08.2022 16:05
von mk-soft
Inder Hilfe steht noch ... auch wenn es ohne geht.
Anmerkungen

Um den Zeitabstand zwischen den Timer-Ereignissen zu ändern, müssen Sie den Timer zuerst remove entfernen, und diesen dann mit einem neuen 'Timeout'-Wert erneut hinzufügen:
RemoveWindowTimer(#Window, Timer)
AddWindowTimer(#Window, Timer, Timeout)