VisualC 6.0 -> VisualC 2008 Pro (error C2440 static_cast)
Bonjour,
J'ai repris un ensemble de projets développés il y a 10 ans sur Visual C++ 6.0 et j'ai besoin de les migrer aujourd'hui vers visual C++ 2008. J'ai réussi tant bien que mal à migrer les plus petits projets par contre il m'en reste 3 gros... :? écrit en vrai C++ et comme j'ai beaucoup pratiqué en C temps réel mais pas en C++ :( j'ai besoin de votre aide et pas qu'un peu ! :lol:
Voici le type d'erreur que je rencontre à la génération:
Citation:
Envoyé par DlgCheckNet.cpp
d:\developpement\v3000dg\dlgchecknet.cpp(74) : error C2440: 'static_cast'*: impossible de convertir de 'void (__thiscall CDlgCheckNet::* )(WPARAM,LPARAM)' en 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible ]
et dans le programme, on est sur la ligne rouge:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| {
BEGIN_MESSAGE_MAP(CDlgCheckNet, CDialog)
//{{AFX_MSG_MAP(CDlgCheckNet)
ON_BN_CLICKED(IDHELP, OnHelp)
//}}AFX_MSG_MAP
ON_WM_TIMER()
ON_MESSAGE(WMU_CNX_NOTREADY, OnNotReady)
END_MESSAGE_MAP()
} |
Merci pour votre aide :)
GP
Cas suivant - une variante
J'ai maintenant l'erreur suivante:
Citation:
d:\developpement\v3000_commun\dlgvoirafficheur.cpp(75) : error C2440: 'static_cast'*: impossible de convertir de 'void (__thiscall CDlgVoirAfficheur::* )(void)' en 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible
L'erreur pointe sur la ligne rouge:
Code:
1 2 3 4 5 6
| BEGIN_MESSAGE_MAP(CDlgVoirAfficheur, CDialog)
//{{AFX_MSG_MAP(CDlgVoirAfficheur)
ON_BN_CLICKED(ID_FERMER, OnCloseDialogue)
//}}AFX_MSG_MAP
ON_MESSAGE(WMU_GENERIC_THREAD_2, OnCloseDialogue)
END_MESSAGE_MAP() |
Jusque là, c'est pareil que le précédent cas, par contre quand j'applique la recette habituelle:
Définition:
Code:
1 2 3 4 5
| LRESULT CDlgVoirAfficheur::OnCloseDialogue ()
{
CloseDialogue (TRUE);
return 0;
} |
Déclaration
Code:
afx_msg LRESULT OnCloseDialogue ();
J'obtiens deux nouvelles erreurs:?:
Citation:
d:\developpement\v3000_commun\dlgvoirafficheur.cpp(71) : error C2440: 'static_cast' : impossible de convertir de 'LRESULT (__thiscall CDlgVoirAfficheur::* )(void)' en 'AFX_PMSG'
Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible
d:\developpement\v3000_commun\dlgvoirafficheur.cpp(75) : error C2440: 'static_cast' : impossible de convertir de 'LRESULT (__thiscall CDlgVoirAfficheur::* )(void)' en 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible
:help: