[urgent] enregistrement dans un fichier xml [Résolu]

tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention - 7 déc. 2008 à 11:46 - Dernière réponse : tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention
- 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.'

Merci pour votre aide.
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
kerma26 37 Messages postés vendredi 11 mai 2007Date d'inscription 20 août 2009 Dernière intervention - 10 déc. 2008 à 13:45
3
Merci
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é.

Merci kerma26 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de kerma26
kerma26 37 Messages postés vendredi 11 mai 2007Date d'inscription 20 août 2009 Dernière intervention - 7 déc. 2008 à 12:50
0
Merci
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();
Commenter la réponse de kerma26
tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention - 7 déc. 2008 à 19:30
0
Merci
J'ai essayé de faire un .dispose(); mais toujours pareil...

Avant le "Save", je ne fais que charger le fichier avec un "doc.load". Je ne sais vraiment pas d'ou vient cette erreur.
Commenter la réponse de tunit68
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 8 déc. 2008 à 09:34
0
Merci
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
---------------------
Commenter la réponse de billou_13
tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention - 8 déc. 2008 à 10:40
0
Merci
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.
Commenter la réponse de tunit68
kerma26 37 Messages postés vendredi 11 mai 2007Date d'inscription 20 août 2009 Dernière intervention - 8 déc. 2008 à 14:26
0
Merci
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 ?
Commenter la réponse de kerma26
tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention - 8 déc. 2008 à 14:41
0
Merci
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.

aurais-tu une idée?

 
Commenter la réponse de tunit68
kerma26 37 Messages postés vendredi 11 mai 2007Date d'inscription 20 août 2009 Dernière intervention - 8 déc. 2008 à 15:39
0
Merci
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.
Commenter la réponse de kerma26
tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention - 8 déc. 2008 à 16:23
0
Merci
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é...

Bref je suis perdu...
Commenter la réponse de tunit68
kerma26 37 Messages postés vendredi 11 mai 2007Date d'inscription 20 août 2009 Dernière intervention - 8 déc. 2008 à 20:11
0
Merci
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.
Commenter la réponse de kerma26
tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention - 9 déc. 2008 à 18:47
0
Merci
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.
Commenter la réponse de tunit68
tunit68 19 Messages postés mercredi 28 mai 2008Date d'inscription 8 avril 2009 Dernière intervention - 10 déc. 2008 à 15:02
0
Merci
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!
Commenter la réponse de tunit68

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.