KillTimer im OnTimer fürht zur Exception



  • Hallo,

    hab eine Klasse, die unter anderem von CWnd abgeleitet wurde. Jetzt möchte ich gern einen Timer erstellen, nur leider bekomme ich eine Exception beim SetTimer() Aufruf (Fehler: das m_hWnd ist nicht vorhanden)?

    Anschließend hab ich ein Fenster erstellt in der Init() Methode von dieser Klasse; dann funktioniert auch SetTimer und OnTimer.

    Jetzt möchte ich aber ganz gerne, dass beim ersten OnTimer Event dieser Timer auch wieder gelöscht wird. Mit KillTimer(id); bekomm ich aber wieder eine Exception 😕

    class Subclass : public CWnd, public Baseclass
    {
    
    };
    
    void Subclass::Init()
    {
       CWnd::Create(NULL, NULL, WS_CHILD, 		   	         		        CRect(0,0,10,10), 		        
                     AfxGetMainWnd(),		        
                     IDC_STATIC);    
    
        SetTimer(500, 2000, NULL);
    }
    
    void Subclass::OnTimer(UINT nIDEvent) 
    {
         KillTimer(500); 
    }
    

    Gruß
    Tönnjes


  • Mod

    Schon mal daran gedacht, dass Dein Create fehlsclagen könnte?

    Im OnTimer die Timer zu entfernen gehört zu den ganz normalen Aktivitäten. Was sagt der Callstack im Debugger?


Log in to reply