2 Timer aktivieren



  • Hallo zusammen.

    ich habe 2 Timer, die unterschiedline Aktionen auslösen.
    Beide haben ein unterschiedliches Intervall.
    Ich habe alles soweit Programmiert. Es funktioniert auch alles so wie ich möchte, nur es geht immer nur der einte der beiden Timer.

    //..begin "UTF:MessageMap"
    BEGIN_MESSAGE_MAP(CMatlabLizenzMonitorDlg, CDialog)
       //{{AFX_MSG_MAP(CMatlabLizenzMonitorDlg)
            ...
      ON_MESSAGE(WM_TIMER, OnTimer2) 
      ON_MESSAGE(WM_TIMER, OnTimer) //Der wird immer "ignoriert"
    	....
      //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    //..end "UTF:MessageMap"
    

    Es funktioniert immer nur der "obere" der beiden, also wenn ich die beiden Zeilen tausche, dann funktioniert nur der obere. Es muss also daran liegen, dass der Compiler nicht weiss, welche WM_TIMER zu welchem gehört... wie kann ich das änder dass der das schnallt? ich kann ja nicht sagen, WM_TIMER1 und WM_TIMER2...
    das habe ich alles ausprobiert...
    Danke für jegliche Hilfe!!
    mfg



  • Afaik landen alle Timer-Ereignisse über die Nachricht WM_TIMER in der Methode OnTimer() der Windows-Klasse. Diese bekommt dann als PArameter die ID des ausgelösten Timers, so daß du dort drin dann entscheiden kannst, wie du reagieren mußt:

    void OnTimer(UINT nEv)
    {
      iF(nEv==TIMER1)
        verarbeite Timer 1
      else
        verarbeite Timer 2
    }
    


  • Jawoll 😃
    Danke für die Schnelle hilfe...!
    Gruss


Anmelden zum Antworten