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 :

création dynamique d'un composant TXMLDocument


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Par défaut création dynamique d'un composant TXMLDocument
    Bonjour à tous,

    Quelqu'un d'entre vous a-t-il déjà réussi à utiliser un composant TXMLDocument après une création dynamique ?

    Après dépose du composant sur une fiche, celui-ci fonctionne parfaitement.

    Par contre, le code suivant provoque une exception lors de l'accès à DocumentElement!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
      // texte XML
      TStringList *FString = new TStringList();
      FString->Clear();
      FString->Add("<ROOT>");
      FString->Add("</ROOT>");
     
      // document XML
      TXMLDocument *XMLDoc =  new TXMLDocument("");
      XMLDoc->ParseOptions << poResolveExternals << poPreserveWhiteSpace;
      XMLDoc->DOMVendor = GetDOMVendor("MSXML");
      XMLDoc->XML = FString;
      XMLDoc->Active = true;
     
      // lecture du noeud racine
      _di_IXMLNode root = XMLDoc->DocumentElement;

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonjour

    Je ne connais pas du tout ce composant (jamais utilisé) mais, en revanche, suis tombé sur un discussion/problème similaire, avec au final le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    TXMLDocument *XMLDoc;
    _di_IXMLDocument d;
     
        XMLDoc=new TXMLDocument("");
        XMLDoc->GetInterface(d);
        d->LoadFromFile("c:\\test.xml");
        _di_IXMLNode RNode=d->DocumentElement;
        if (RNode->ChildNodes->IndexOf(WideString("Message"))>-1){
            AnsiString s=StrToInt(RNode->ChildNodes->Nodes[WideString("Message")]->Text);
        }
    Peut être peut tu t'en inspirer ...

    @+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Par défaut
    Merci Sunchaser, ce code marche impeccable!

    Dans mon cas, pour une StringList, il suffit de remplacer
    d->LoadFromFile("c:\\test.xml");
    par
    d->LoadFromXML(FString->Text);

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/02/2008, 16h55
  2. création dynamique de composants et jscrollbar
    Par restricteur dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 12/09/2007, 16h18
  3. Création dynamique de composants
    Par persam dans le forum Delphi
    Réponses: 3
    Dernier message: 09/01/2007, 10h58
  4. Réponses: 3
    Dernier message: 16/05/2006, 16h24
  5. Création dynamique de composants et destruction
    Par cpdump dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/01/2005, 17h57

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