Voila du code qui passait sous Visual C++ 6 :
Malheureusement sous Visual C++ 8 (2005) à la compilation ça ne passe plus et ça donne ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ON_MESSAGE(UM_RESULTAT_REQUETE,OnResultatExecutionRequete) ... LRESULT PWH_CClientApp::OnResultatExecutionRequete(WPARAM wParam, LPARAM lParam) { ... }
La classe PWH_CClientApp dérive de CWinApp. A mon avis le problème vient de là non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 :
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)) }
Partager