Проблема с наследником от CWnd
От: kpn  
Дата: 22.07.04 10:34
Оценка:
Есть проблема, а заключается она в следующем:
Есть класс, базовым которого является CWnd (class CDevice : public CWnd)
Этот класс CDevice отвечает за общение с СОМ-портом, поэтому нужно, чтобы
1. Этот класс мог принимать сообщения, как любое стандартное окно.
2. Этот класс не показывал никаких окон, хотя они могут существовать "виртуально"

В одной из процедур класса я пытаюсь запустить таймер. Он не запускается, Debugger говорит, что ошибка находитя в этой стандартной функции (файл Afxwin2.inl)

_AFXWIN_INLINE UINT CWnd::SetTimer(UINT nIDEvent, UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND, UINT, UINT, DWORD))
{ ASSERT(::IsWindow(m_hWnd)); return ::SetTimer(m_hWnd, nIDEvent, nElapse,
(TIMERPROC)lpfnTimer); }

Насколько я понимаю, ошибка возникает из-за того, что у моего класса CDevice, хоть он
и наследован от CWnd, но перемнная m_hWnd НЕ проинициализирована. Прав ли я в своих предположениях и как мне проинициализировать m_hWnd??
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.