[Migration VC6 -> VC8] Problème avec la macro ON_MESSAGE
Voila du code qui passait sous Visual C++ 6 :
Code:
1 2 3 4 5 6
|
ON_MESSAGE(UM_RESULTAT_REQUETE,OnResultatExecutionRequete)
...
LRESULT PWH_CClientApp::OnResultatExecutionRequete(WPARAM wParam, LPARAM lParam) {
...
} |
Malheureusement sous Visual C++ 8 (2005) à la compilation ça ne passe plus et ça donne ce message d'erreur :
Code:
1 2 3
|
error C2440: 'static_cast' : impossible de convertir de 'LRESULT (__thiscall PWH_CClientApp::* )(WPARAM,LPARAM)' en 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible |
La classe PWH_CClientApp dérive de CWinApp. A mon avis le problème vient de là non ?
Y'aurait-il une autre macro qui permette d'intercepter les message sans être forcée d'utiliser des méthode dérivant de CWnd ?
parce que ON_MESSAGE sous Visual C++ 8 fait un static_cast :
Code:
1 2 3 4 5 6
|
define ON_MESSAGE(message, memberFxn) \
{ message, 0, 0, 0, AfxSig_lwl, \
(AFX_PMSG)(AFX_PMSGW) \
(static_cast< LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM) > \
(memberFxn)) } |
Merci d'avance pour votre aide.