pomogite please CWinThread VS6 -> VS2005
От: sally Израиль  
Дата: 22.09.06 17:01
Оценка:
Исправлено форматирование текста. — SchweinDeBurg

est' class ClassName : public CWinThread

BEGIN_MESSAGE_MAP(ClassName , CWinThread)
      ON_THREAD_MESSAGE(WM_DO_IT, OnDoIt) 
END_MESSAGE_MAP()

na VS6 idet kak po maslu
na VS2005 vidaet oshibku

error C2440: 'static_cast' : cannot convert from 'LRESULT (__thiscall ClassName ::* )(WPARAM,LPARAM)' to 'void (__thiscall CWinThread::* )(WPARAM,LPARAM)'

Budu priznatelen esli kto vtolkuet kak razgresti

Spasibo.

22.09.06 21:46: Перенесено модератором из 'Пользовательский интерфейс: проектирование, usability' — Кодт
Re: pomogite please CWinThread VS6 -> VS2005
От: Кодт Россия  
Дата: 22.09.06 17:53
Оценка:
Здравствуйте, 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>>
Перекуём баги на фичи!
[оффтоп]
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 23.09.06 07:13
Оценка:
Между прочим, Коля, когда переносил — мог бы заодно и форматирование поправить!
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[2]: pomogite please CWinThread VS6 -> VS2005
От: sally Израиль  
Дата: 23.09.06 07:49
Оценка:
Удалено избыточное цитирование. — SchweinDeBurg

Здравствуйте, Кодт, Вы писали:

К>Очевидно, что надо объявить (и определить, естественно) void OnDoIt(WPARAM,LPARAM).


Nu ya baran konkretnuy.
Vse rabotaet.
Cpacibo.
[от модератора]
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 23.09.06 07:57
Оценка:
Убедительная просьба — не нарушать впредь п.7 Обязательных правил и пользоваться услугами сайтов-переводчиков:
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.