IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

migration VC6.0 VC2008 problème msxml


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut migration VC6.0 VC2008 problème msxml
    Bonjour,

    Pour des raisons indépendantes de ma volonté, je dois migrer un assez gros projet de VC6.0 à VC2008 (développé par 10 pers successives).

    Le projet utilisait msxml3 sous VC6.0 (et tout fonctionnait très bien):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #import <msxml3.dll> no_implementation
    using namespace MSXML2;
    Sous VC2008, ça faisait des error c2872 avec plein d'ambiguous symbols. J'ai donc commenté les import msxml3 qui entraient en conflit avec le msxml6.0 appelé automatiquement dans vc2008. Plus d'ambiguous symbols (chouette) mais certains identifiers ne sont plus reconnus, comme IXMDOMElementPtr (erreur c2065 undeclared identifier).

    Pas mal de recherches sur le net, mais sans trouver de solution. Celà fait un bail que je n'ai pas fait de C++ et n'ai jamais utilisé XML, donc ma question est peut-être bête, mais si quelqu'un avait une idée pour me dépanner...

    Milirf

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut le smilblick avance mais c'est pas encore ça :(
    Bonjour,

    le nettoyage des .h précédents (c'était un beau bordel) a conduit à une ligne très simple en ce qui concerne le msxml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #import <msxml6.dll> named_guids
    Ca vire un bon paquet d'erreurs mais ça coince toujours avec les XMLDOMElement:
    Pour le code qui marchait TRES bien sous VC6.0:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    IXMLDOMElement*       p_pIDOMElmnt;
    LPCTSTR                    p_attrName;
    IXMLDOMElementPtr     l_pEmlt(p_pIDOMElmnt);
    IXMLDOMAtributePtr     l_pA(NULL);
    ...
    l_pA = l_pEmlt -> getAttrivuteNode(p_attrName);
    on récupère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error C2660: 'IXMLDOMElement::getAttributeNode' : function does not take 1 arguments
    Quelqu'un à une idée? Merci d'avance à ceux qui voudront bien aider une physicienne qui tente de se dépatouiller en développement C++
    Milirf

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    il semble que la signature de la méthode a changée.
    Il faudrait voir la nouvelle définition et la comparer à l'ancienne ...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    Salut,

    D'abord, merci pour ta réponse.

    Qu'on ait ou , l'erreur reste la même (c'est au niveau de la définition du namespace et des attribut de import que ça posait pb au post 1 -> résolu. enfin, je crois).

    Ici, dans le msxml3.tlh, comme dans le msxml6.tlh, on trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IXMLDOMAttributePtr getAttributeNode (_bstr_t tagName );
    1 seul argument grrrrrrrr

    - soupir -

    Milirf

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut résolution
    Bonjour, bonjour,

    C'était effectivement du à des modifications du nombre et type d'arguments (merci Microsoft...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getAttributeNode(p_attributName) ;
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getAttributeNode( _bstr_t( p_attributName), &l_pAttribut);
    Merci, merci pour leur aide à ceux qui ont donné un coup de pouce (sur ce forum comme ailleurs). ^_^

    Milirf

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/02/2009, 17h26
  2. Réponses: 6
    Dernier message: 19/02/2009, 15h26
  3. Migration VC6.0 vers VC2008
    Par squale32 dans le forum Visual C++
    Réponses: 21
    Dernier message: 10/03/2008, 16h57
  4. [Migration VC6 -> VC8] Ambigüité avec MSXML
    Par JoSii dans le forum MFC
    Réponses: 3
    Dernier message: 17/01/2007, 16h24
  5. Réponses: 7
    Dernier message: 11/07/2006, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo