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

Windows Forms Discussion :

Creer une nouvelle instance d'un xmlreader


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut Creer une nouvelle instance d'un xmlreader
    bonjour,
    j'ai 2 objets avec une methode charger(xmlreader) dans chacun d'entre eux. Mon form principale charge un xmlreader et appelle mon premier objet qui commence à lire mon xmlreader. Lors d'une condition j'ai besoin de passer mon xmlreader à mon deuxieme objet pour qu'il le lise aussi mais je souhaite faire une copie du xmlreader.

    je fait dans mon deuxieme objet
    XmlReader xmltemp = xmlreader

    je lit

    et quand je reviens dans mon premier objet je reprend la lecture qui boucle tant que je suis pas à la fin mais le node type est toujours à node. Alors que si je ne passe pas dans le second objet tout va bien ....

    Savez vous d'ou cela peut venir ??

    merci

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par chris81 Voir le message
    Lors d'une condition j'ai besoin de passer mon xmlreader à mon deuxieme objet pour qu'il le lise aussi mais je souhaite faire une copie du xmlreader.

    je fait dans mon deuxieme objet
    XmlReader xmltemp = xmlreader
    Tu ne fais pas une copie là. Tu crées simplement une variable qui va référencer ton instance de XmlReader. Au final tu manipules dans ton 2ème objet la même instance de XmlReader que ton 1er objet.

    C'est sûrement la cause du problème puisque le "contexte" de l'instance sera modifié par ton 2ème objet et de retour dans le 1er patatra.

    Il y a une méthode statique Create sur le XmlReader qui permet, sur une des surcharges, d'en créer un nouveau à partir d'un existant il me semble.

  3. #3
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Bonjour,
    oui je suis d'accord on peut faire un create pour un nouveau xmlreader à partir d'un existant. J'ai testé cela mais qd je teste l'égalite des référence en faisant

    Si xmlreader1 == xmlreader2 alors il me retourne vrai donc même en faisant un create ils travaillent sur les même objets xmlreader.

    Cordialement,

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 46
    Par défaut
    Bonjour,

    Je n'ai pas exactement compris ce que tu souhaite faire mais...
    Par exemple si tu souhaites parcourrir ton xml jusqu'à un certain noeuds puis parcourir ce noeuds dans ton 2ème objet...

    Tu peux par exemple faire dans ton 2ème objet un XmlReader.Create et passer en paramètre Uri de ton fichier.
    Tu le parcours et ensuite de retour dans ton premier objet tu te positionnes sur l'élément voulu grâce aux méthode MoveTo...

    Tu as aussi une surcharge de Create qui te permet de passer en paramètre ton Uri et les settings de ton xmlReader passé en paramètre, dans ce cas il crée bien une nouvelle référence.
    Ou encore la propriété BaseUri de ton XmlReader ce qui donnerait comme syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XmlReader monreader2 = XmlReader.Create(monreader1.BaseURI, monreader1.Settings);
    Pas sur que ça te conviennes

Discussions similaires

  1. comment creer une nouvelle instance ?
    Par exyacc dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/04/2007, 10h54
  2. creer une nouvelle base dans oracle 10g
    Par clement42 dans le forum Oracle
    Réponses: 4
    Dernier message: 02/05/2006, 19h20
  3. creer une nouvelle fenetre dans un fork
    Par christo_lr dans le forum POSIX
    Réponses: 2
    Dernier message: 24/04/2006, 15h13
  4. Creer une nouvelle Child Frame
    Par Andrenn dans le forum MFC
    Réponses: 2
    Dernier message: 14/02/2005, 13h47
  5. Creer une nouvelle référence pour le driver ODBC
    Par tripper.dim dans le forum Connexion aux bases de données
    Réponses: 3
    Dernier message: 04/01/2005, 23h57

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