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

Langage Delphi Discussion :

TXMLDocument et les violations d'acces


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut TXMLDocument et les violations d'acces
    Bonjour.

    J'ai un programme qui utilise beaucoup de paramètres qui sont stockés dans un fichier xml (configuration.cfg). A partir de ce fichier un module des interfaces était créé avec l'expert Liaison de données. Et puis à la base de ces interfaces les classes sont créées (dans le même module):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TXMLConfigType = class(TXMLNode, IXMLConfigType)
    Les fonctions de ses classes sont du genre :
    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
    17
    18
    19
    function TXMLConfigType.Get_propriete: WideString;
    begin
      try
      if assigned(ChildNodes['propriete']) then
       if not VarIsNull(ChildNodes[propriete].NodeValue) then
         Result := ChildNodes['propriete'].NodeValue
       else
        Result := ''
      else
       Result := '';
     except
      Result := '';
     end;
    end;
     
    procedure TXMLConfigType.Set_propriete(Value: WideString);
    begin
     ChildNodes['propriete'].NodeValue := Value ;
    end;
    Mais j'ai souvent des VA sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not VarIsNull(ChildNodes[propriete].NodeValue) then
    car "assigned" vérifie seulement si le pointeur n'est pas null et il peut être juste incorrect. Et parfois il y a VA lors de la sauvegarde des données XML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Configuration: IXMLConfigType;
    ... 
    Configuration.OwnerDocument.SaveToFile(FileName);
    Et ça se produit avec tous les updates possibles des msxml.dll. Donc ce méthode de gestion XML ne me semble pas assez stable.
    Pourriez-vous me conseiller quelques choses s'il vous plait?
    Merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Je voudrais ajouter que "Configuration" est créée comme une variable globale dans un module Datas est utilisé parfois par plusieurs threads simultanement. Peut être c'est ca qui crée des conflits?

  3. #3
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut Re: TXMLDocument et les violations d'acces
    Salut !

    Citation Envoyé par LN(a)
    Mais j'ai souvent des VA sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not VarIsNull(ChildNodes[propriete].NodeValue) then
    Est-ce une faute de frappe ou il te manque les guillemets autour de 'propriete' ??
    n'est-ce pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not VarIsNull(ChildNodes['propriete'].NodeValue) then
    ???

    NoisetteProd

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Salut, NoisetteProd.

    Désolé, c'est une faute de frappe
    En réalité je m'en doute fort qu'il y a une petite faute bête. C'est le truc qui était écrit depuis longtemps et il était bien vérifié. C’est quelques choses plus compliquées que ça.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Je voudrais ajouter que "Configuration" est créée comme une variable globale dans un module Datas est utilisé parfois par plusieurs threads simultanement. Peut être c'est ca qui crée des conflits?
    C'était exactement ça! J'ai evité l'utilisation simultanée et ça bugue plus!

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

Discussions similaires

  1. [TinyXML] Violation d'accès TXmlDocument
    Par moumout666 dans le forum XML
    Réponses: 0
    Dernier message: 21/10/2008, 11h05
  2. Réponses: 4
    Dernier message: 29/07/2008, 13h52
  3. Violation d'accès avec les composants Word 97/ 2000
    Par edechaux dans le forum Composants VCL
    Réponses: 3
    Dernier message: 07/03/2006, 09h48
  4. Que sont les violations d'accès ?
    Par James64 dans le forum Langage
    Réponses: 7
    Dernier message: 21/06/2005, 12h35
  5. Violation d'accès sur un TXMLDocument
    Par WebPac dans le forum Composants VCL
    Réponses: 14
    Dernier message: 15/03/2005, 15h10

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