Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1622 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  convertir un projet VC++6 à VC++ 2005

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

convertir un projet VC++6 à VC++ 2005

n°1622464
megablob
Posté le 11-10-2007 à 16:50:56  profilanswer
 

bonjour  :hello:  
j'ai téléchargé les sources d'un programme qui a été fait avec visual c++ 6, mais moi j'ai vc++ 2005
 
j'ai donc dis oui à la conversion automatique, mais là quand je compile j'ai pas mal d'erreurs (22) qui trainent... pourtant j'ai pris soin d'installer ce qu'il fallait (le sdk de direct x...)
 
est-ce courant que les conversions génèrent des erreurs ?
 
voilà des exemples d'erreurs que ça me fait:
 
 
 
1>.\View_smp.cpp(40) : error C2440: 'static_cast' : cannot convert from 'UINT (__thiscall CViewSample::* )(CPoint)' to 'LRESULT (__thiscall CWnd::* )(CPoint)'
1>        Cast from base to derived requires dynamic_cast or static_cast

Code :
  1. #define ON_WM_NCHITTEST() \
  2. { WM_NCHITTEST, 0, 0, 0, AfxSig_l_p, \
  3.  (AFX_PMSG)(AFX_PMSGW) \
  4.  (static_cast< LRESULT (AFX_MSG_CALL CWnd::*)(CPoint) > (&ThisClass :: OnNcHitTest)) },


 
 
1>.\View_ins.cpp(2125) : error C2065: 'i' : undeclared identifier

Code :
  1. for (UINT i=0; i<penv->nVolEnv; i++) if (nTick <= penv->VolPoints) break;
  2.     for (UINT j=penv->nVolEnv; j>i; j--)


=> erreur semblable pour quelques autres variables
 
 
[i]1>.\Modedit.cpp(389) : error C2228: left of '.dwFlags' must have class/struct/union

Code :
  1. if (i >= nNewChannels) m_SndFile.Chn[i].dwFlags |= CHN_MUTE;


 
 
 
 
 
quelqu'un saurait m'indiquer comment résoudre ces problèmes ? merci d'avance

mood
Publicité
Posté le 11-10-2007 à 16:50:56  profilanswer
 

n°1622571
Trap D
Posté le 11-10-2007 à 18:45:17  profilanswer
 

\View_ins.cpp(2125) : error C2065: 'i' : undeclared identifier  
 
Pour ça c'est une option du compilo.
 
Pour la première je crois que le compilo VC 2005 est beaucoup plus "exigeant" que ne l'était celui de Visual C6, c'est une pure opinion perso qui est peut-être fausse, et donc tu dois respecter les règles C++, (peut-être aussi qu'il n'accepte plus certaines formes "dépréciées" ).
 
Pour la dernières, regarde la définition de la structure de m_SndFile.Chn[i], ou de m_SndFile,  il doit y avoir un changement.

n°1622705
Joel F
Real men use unique_ptr
Posté le 12-10-2007 à 08:39:21  profilanswer
 

Erreur 1 : &ThisClass :: OnNcHitTest c'ets bien un pointeur sur un eméthode de classe et non pas sur une méthode d'instance ?
Sinon jamais ca marchera. Le prototype d'une méthode d'instance étant retour NomdelaClasse::*(parametre) ce qui est incompatible avec
un pointeur de fonction classique : retour *(parametre)

 

Erreur 2 : La portée d'un compteur de boucle for est limite à la boucle. Donc je pense qu'il manque qqs {} ici

 

Erreur 3 : m_SndFile.Chn[i] ca serait pas un pointeur ?

 

@Trap D : VC2005 est BEAUCOUP plus exigant que VC6 qui était une vrai passoire. En gros il est [i]presque[i] aussi exigant qu'un vrai compilo genre gcc maintenant


Message édité par Joel F le 12-10-2007 à 08:40:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  convertir un projet VC++6 à VC++ 2005

 

Sujets relatifs
SQL Server 2005 et fonctions dans les requêtes[Visual C++] Comment inclure une librairie .a dans un projet C
[Recherche] FINI[C++ / Qt4] Problème de link avec Visual C++ 2005
Probléme compilateur visual 2005Convertir un .pl en .exe
Erreur de compilation de Qt 4 avec Visual C++ 2005convertir le texte en majuscule
Plugin pour Windows XP Media Center 2005SQL Server 2005 - INSERT multiples
Plus de sujets relatifs à : convertir un projet VC++6 à VC++ 2005


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR