Здравствуйте, kpn, Вы писали:
kpn>Есть проблема, а заключается она в следующем:
kpn>Есть класс, базовым которого является CWnd (class CDevice : public CWnd)
kpn>Этот класс CDevice отвечает за общение с СОМ-портом, поэтому нужно, чтобы
kpn>1. Этот класс мог принимать сообщения, как любое стандартное окно.
kpn>2. Этот класс не показывал никаких окон, хотя они могут существовать "виртуально"
kpn>В одной из процедур класса я пытаюсь запустить таймер. Он не запускается, Debugger говорит, что ошибка находитя в этой стандартной функции (файл Afxwin2.inl)
kpn>_AFXWIN_INLINE UINT CWnd::SetTimer(UINT nIDEvent, UINT nElapse,
kpn>void (CALLBACK* lpfnTimer)(HWND, UINT, UINT, DWORD))
kpn>{ ASSERT(::IsWindow(m_hWnd)); return ::SetTimer(m_hWnd, nIDEvent, nElapse,
kpn>(TIMERPROC)lpfnTimer); }
kpn>Насколько я понимаю, ошибка возникает из-за того, что у моего класса CDevice, хоть он
kpn>и наследован от CWnd, но перемнная m_hWnd НЕ проинициализирована. Прав ли я в своих предположениях и как мне проинициализировать m_hWnd??
CWnd::Create()
CWnd* _wnd = new CDevice;
_wnd->Create(_T("My Super window class"), "Hello world this is window", WS_POPUP /*| WS_VISIBLE*/,
CRect(0, 0, 100, 100), NULL );