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 :

TXMLDocument design/ runtime [FAQ]


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juillet 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2004
    Messages : 289
    Par défaut TXMLDocument design/ runtime
    Salut à tous,

    J'ai un ch'tit soucis au niveau d'un TXMLDocument
    Quand j'en ajoute un à ma fiche, j'arrive à charger un fichier xml sans problème avec Active = true, puis LoadFromFile.
    Mais par contre quand j'essaie de le créer directement, avec un joli new, et ben les mêmes méthodes ne marchent pas:

    j'arrive à loader un fichier
    j'ai essayer de le sauver sous un autre nom et j'obtiens le même fichier donc ca marche sans problèmes
    quand j'essaye d'accéder à l'attribut DocumentElement j'ai une vieille erreur "Read of adress ..." avec une adresse complètement quelconque (en tout cas pas FFFFFFFF ni NULL)

    Est-ce que j'ai raté un wagon ?
    Est-ce qu'il y aurait un attribut à changer qui serait différent par rapport à une instanciation directe sur une fiche ?

    Quelqu'un pourrait-il m'aider please ?
    Merci

  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,

    Le problème avec la création dynamique de TXMLDocument, c'est qu'il y a du COM dessous, qu'on ne maitrise pas, car tout est dans la VCL .

    Pour la culture, la violation d'accès se produit car le TXMLDocument créé dynamiquement n'a pas d'Owner, et donc son compteur de référence reste à 0. Quand on effectue une action sur ce TXMLDocument qui est susceptible de décrémenter le compteur de référence, on cours le risque de voir l'objet se faire invalider du fait de son compteur de référence <= 0. Ce qui génère de manière récurrente des "Access Violation".

    Après la culture, la bonne façon de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       _di_IXMLDocument xmldoc = LoadXMLData(L"<Root><Test>1</Test></Root>");
       _di_IXMLDocument xmldoc2 = LoadXMLDocument(L"fichier.xml");
    Cordialement,

    Arnaud

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juillet 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2004
    Messages : 289
    Par défaut
    ah yes merci beaucoup ca marche supe bien

    Par contre question subsidiaire : qu'est-ce que le L ?
    C'est pour spécifier que c'est une widestring ou pour le transformer directement ?
    Et je suppose qu'il en existe d'autres comme lui alors ou pourrait-on les trouver ?

    Merci

  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
    Le L sert à dire qu'on utilise une chaîne UNICODE (donc WideString directement)

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

Discussions similaires

  1. Vijeo Designer et XBTGT6330 - Erreur Installateur Runtime
    Par comtois dans le forum Automation
    Réponses: 3
    Dernier message: 28/06/2011, 13h16
  2. Réponses: 4
    Dernier message: 04/01/2010, 08h17
  3. Versions différentes entre designer et runtime
    Par rberthou dans le forum BIRT
    Réponses: 4
    Dernier message: 29/04/2009, 16h43
  4. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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