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
-
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?