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

C++Builder Discussion :

Pb d'utilisation de TXmlDocument hors d'une fiche.


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Par défaut Pb d'utilisation de TXmlDocument hors d'une fiche.
    Bonjour.
    J'utilise un composant TXMLDocument sur une fichie et ça fonctionns avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    TXMLDocument *m_xmlDoc = Form1->XMLDocument
    // Ouverture et lecture du fichier XML en mode Exclusif par l'API Windows
    // et chargement du TXMLDocument.
    buf = lire(); // Lecture du fichier XML dans un buffer
    m_xmlDoc->LoadFromXML(AnsiString(buf));
     
    _di_IXMLNode cle = m_xmlDoc->DocumentElement->ChildNodes->FindNode("myNode");
    Ce code fonctionne correctement.
    Toutefois, je voudrais pouvoir utiliser le TXMLDocument sans la fiche avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    m_xmlDoc = new TXMLDocument("");
    m_xmlDoc->DOMVendor = GetDOMVendor("MSXML");
    // Ouverture et lecture du fichier XML en mode Exclusif par l'API Windows
    // et chargement du TXMLDocument.
    buf = lire(); // Lecture du fichier XML dans un buffer
    m_xmlDoc->LoadFromXML(AnsiString(buf));
     
    _di_IXMLNode cle = m_xmlDoc->DocumentElement->ChildNodes->FindNode("myNode"); // -> EAccesViolation
    Et là, j'obtiens une Erreur EAccesViolation sur la dernière ligne.
    J'ai essayé plusieurs trucs mais sans succès. Je ne peux pas utiliser le chargement du fichier par LoadFromFile() ou Activate = true car le fichier est ouvert en mode exclusif et donc interdit à une seconde ouverture...

    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Bonjour,

    Ce problème est peut-être relié à ce que je décrit ici :
    http://www.developpez.net/forums/vie...t=txmldocument

    Peut-être peux-tu essayer cette méthode pour charger ton XML ?

    Cordialement,

    Arnaud

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Par défaut
    Impec.
    Le code suivant fonctionne selon mon souhait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    _di_IXMLDocument xmldoc = LoadXMLData(AnsiString(buf));
    // (buf étant un char *)
    Merci beaucoup Greybird.

  4. #4
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    De rien, heureux d'avori pu t'aider !

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

Discussions similaires

  1. Utilisation de TXMLDocument
    Par Mickey.jet dans le forum Composants VCL
    Réponses: 5
    Dernier message: 19/07/2005, 12h06
  2. Réponses: 4
    Dernier message: 26/05/2005, 17h46
  3. Réponses: 8
    Dernier message: 23/03/2005, 19h28
  4. Utilisé une variable hors d'une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/02/2005, 19h21
  5. variable hors d'une fonction
    Par Anduriel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/02/2005, 08h29

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