Здравствуйте, sally, Вы писали:
S>est' class ClassName : public CWinThread
S>BEGIN_MESSAGE_MAP(ClassName , CWinThread)
S> ON_THREAD_MESSAGE(WM_DO_IT, OnDoIt)
S>END_MESSAGE_MAP()
S>na VS6 idet kak po maslu
S>na VS2005 vidaet oshibku
S>error C2440: 'static_cast' : cannot convert from 'LRESULT (__thiscall ClassName ::* )(WPARAM,LPARAM)' to 'void (__thiscall CWinThread::* )(WPARAM,LPARAM)'
Очевидно, что надо объявить (и определить, естественно)
void OnDoIt(WPARAM,LPARAM).
Под рукой нет VC6, поэтому не берусь сказать, почему там компилировалось.
То ли какие-то переосмысления MFC (мол, раньше надо было LRESULT, а теперь void),
то ли использовали reinterpret_cast,
то ли просто вызывали эту функцию, а не запоминали указатель...
... << RSDN@Home 1.2.0 alpha rev. 655>>