tunit68
Messages postés18Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention 8 avril 2009
-
7 déc. 2008 à 11:46
tunit68
Messages postés18Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention 8 avril 2009
-
10 déc. 2008 à 15:02
Bonjour à tous,
Je développe une application ou je dois enregistrer des données dans un fichier xml. Or au moment où je fais un "doc.save(monfichier.xml)", j'ai l'erreur suivante : "Le processus ne peut pas accéder au fichier 'monfichier.xml ' car il est utilisé par un autre processus.'
kerma26
Messages postés36Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention20 août 2009 10 déc. 2008 à 13:45
ahhhh ben c'est peut-être ça le problème c'est ta première fenêtre, là ou tu charge ton xml qui doit bloquer tu devrais essayer de la fermer après avoir passé le xml en paramètre, un truc du genre maFenetre1.Close(), ce qui libérera les ressources utilisé.
kerma26
Messages postés36Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention20 août 2009 7 déc. 2008 à 12:50
Salut,
Ben d'après le message que tu reçoit, tu doit effectuer des opérations sur ton fichier, ce qui t'empêche de faire la sauvegarde.
Que fait tu sur ton fichier avant de l'enregistrer ?
Peut être y a t-il un .dispose(); faire pour libérer les ressource qu'utilise ton fichier avant de faire ton .save();
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 8 déc. 2008 à 09:34
Bonjour,
Comme le dit kerma26, tu as forcément un autre processus qui utilise ce fichier. Voici les vérifications à faire:
1) N'as tu pas le fichier ouvert (notepad, xmlspy...) que tu exécutes le process ?
2) N'essaies-tu pas de sauvegarder le fichier au même endroit que celui que tu as ouvert ?
Bonne journée,
Billou_13
Bask En Force
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Vous n’avez pas trouvé la réponse que vous recherchez ?
tunit68
Messages postés18Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention 8 avril 2009 8 déc. 2008 à 10:40
je n'ai pas le fichier ouvert autre part, je pense que le problème vient du code.
En effet je sauvegarde le fichier au même endroit que je celui que j'ai ouvert, mais ça marchait très bien jusqu'à 2 jours avant... Depuis, j'ai cette erreur.
Je suis obligé de sauvegarder au même endroit car par la suite je recharge ce fichier pour actualiser une liste.
kerma26
Messages postés36Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention20 août 2009 8 déc. 2008 à 14:26
re,
Dans ce cas si cela marchait il y a deux jours, tu as sûrement du touché à quelque chose essai de te souvenir de quoi et sinon, as-tu redémarré ton pc depuis. Peut-être un programme utilise toujours ton fichier xml en fond de tâche ?
tunit68
Messages postés18Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention 8 avril 2009 8 déc. 2008 à 14:41
Je te remercie pour ton aide.
En fait j'ai du fermer visual studio suite à l'installation d'un émulateur, et quand je l'ai relancé, j'ai eu simplement une erreur me disant que visual studio n'avait pas été arrêté correctement. je ne pense pas que c'est à cause de ça mais depuis j'ai l'erreur. j'ai essayé sur d'autres PC, j'ai recréé l'application, en vain.
Je ne sais plus quoi faire alors que ça marchait auparavant et en plus je dois le faire fonctionner pour demain...
est-ce qu'il est possible de fermer un XmlDocument?
Je déclare XmlDocument doc = new XmlDocument(); mais doc.close(); n'existe pas.
kerma26
Messages postés36Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention20 août 2009 8 déc. 2008 à 15:39
Non là je donne ma langue au chat .
Je ne mit connait pas en xml , mais lorsque tu écrit dans ton xml penses-tu à faire un .Flush() et un .Close() ?, parce que si tu as un message d'erreur te disant que le fichier xml est utilisé par un autre processus c'est que forcement une action continu de se faire dessus.
Sinon fait un teste tout bête :
- ferme visual studio
- édite ton .xml avec le notepad et essaie de sauvegarder
Si cela marche c'est que cela vient bien de ton prog, sinon c'est que ton xml est peut-être endommagé je sait pas.
Mais si ça marche tu refais l'opération en mode debugg.
C'est à dire :
1) tu ouvre ton projet avec visual
2) tu met un point d'arret avant que tu ouvre ton fichier xml
3) tu met un point d'arret après l'avoir ouvert
4) tu lance le debuggage
5) a chaque arret tu essai douvrir ton xml de le modifier et de le sauvegarder.
Comme ça on sera a peu prêt ou est ce que ça cloche.
tunit68
Messages postés18Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention 8 avril 2009 8 déc. 2008 à 16:23
J'ai bien suivi tout ce que tu m'as dit, je peux modifier et sauvegarder à chaque étape.
Il y a une seule action avant le Save, c'est le Load.
Quand j'enregistre dans un autre nom de fichier, ça marche très bien. (mais il me faut le même =/.) et il n'y a pas moyen de fermer le xmldocument chargé...
kerma26
Messages postés36Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention20 août 2009 8 déc. 2008 à 20:11
ah oué ben moi aussi je suis perdu là .
Peut être que tu devrais poster ton bout de code si il n'est pas trop long cela serait plus clair.
Parce que là je sèche, je suis à court d'idées.
tunit68
Messages postés18Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention 8 avril 2009 9 déc. 2008 à 18:47
Je posterais bien le code mais j'ai bien peur qu'il soit trop long.
En fait le chargement a lieu dans une première fenêtre et je passe en parametre le XmlDocument doc dans une deuxième fenêtre, où je fais le save. J'ai déja tout essayé, du genre recharger dans la deuxième fenêtre, mettre doc = null et recharger, ou créer un doc2 pour le save, rien à faire, l'erreur revient.
Je suis aussi à court d'idées, j'attends un miracle ^^'.
En tout cas je te remercie Kerma26 pour la volonté dont tu fais preuve.
tunit68
Messages postés18Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention 8 avril 2009 10 déc. 2008 à 15:02
J'ai finalement trouvé...
sur ma première fenêtre j'avais une fonction qui vérifiait la structure du xml grâce à un fichier xsd. Effectivement il fallait libérer les ressources qu'utilisait cette fonction.
Encore merci kerma26 tu m'as mis sur la bonne voie!