cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
24 oct. 2007 à 20:17
cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDernière intervention 9 octobre 2011
-
26 oct. 2007 à 08:25
Salut à tous...
J'ai un problème avec le IO.File.Copy
J'ai un message d'erreur disant:
The process can not access the file "\Program Files\DataGrid\Coord.txt" because it is being used by another process.
Mais je delete ce fichier qui est mit dans une variable (FichierSave)
Qu'est ce que je ne fais pas de correct ???
Merci de votre aide
Private
Sub cmdEffacer_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles cmdEffacer.Click
Dim ObjetFichier
As StreamReader =
New StreamReader(FichierSave)
Dim ObjetFichierW
As StreamWriter =
New StreamWriter(AppPathTempo &
"\Tempo.txt",
False</gras> )
Do
While ObjetFichier.Peek <> -1
FichierTexte = ObjetFichier.ReadLine()
If txtEfface.Text <> FichierTexte.Split(Separateur)(0)
Then
ObjetFichierW.WriteLine(FichierTexte)
ObjetFichierW.Flush()
End
If
Loop
ObjetFichierW.Close()
ObjetFichier.Close()
IO.File.Delete(FichierSave)
IO.File.Create(AppPathTempo &
"\Tempo.txt")
IO.File.Create(FichierSave)
"\Tempo.txt", FichierSave,
False) IO.File.Delete(AppPathTempo & "\Tempo.txt")
cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 20234 24 oct. 2007 à 21:10
Ok j'ai suprimmer les deux lignes et ca genere un message d'erreur dans le mesagebox soit:
ArgumentOutOfRangeException
et si j eréappuis sur le meme bouton ca me sort comme erreur:
The process can not access the file "\Programe Files\DataGrid\Tempo.txt" because it is being used by another process.
cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDernière intervention 9 octobre 20111 25 oct. 2007 à 08:13
C'est pur cela que je t'invitais à bien découper ton code en plusieurs fonctions, car visiblement, ton fichier est utiliser par ton propre programme dans une autre partie de ton programme, ou utilisé par un autre programme.
Si vraiement obligé d'utilisé un fichier par deux processus, regarde plutot IO.FileStream qui a une option de partage.
cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 20234 25 oct. 2007 à 12:38
Effectivement mon code n'est pas bien divisé....
Mais... Ce que je ne saisi pas.. c'est que mon fichier, pour l'exemple, Coord.txt n'est utilisé que pour faire la lecture du fichier Coord.txt et de mettre ca dans un Tableau.
Comment est-il possible de fermer le fichier Coord.txt après la lecture... ???
Dans mon prog. J'ouvre le fichier Coord.txt
Pour le moment je mets dans mon Load
TraitementFichier(AppPath &
"\Coord.txt")
Private
Sub TraitementFichier(ByVal NomDuFichier AsString
Dim ObjetFichier
As StreamReader =
New StreamReader(NomDuFichier)
......
Après ce code, c'est ici que je ferme mon fichier, si oui, comment ?
cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 20234 25 oct. 2007 à 20:31
Et bien je ne comrpend rien...
J'ai fais plusieurs test et ca me sort toujours le même message.
The process can not access the file "\Program Files\DataGrid\Tempo1.txt" because it is being used by another process.
Mais le problème c'est que je cré le fichier Tempo1 juste avant et ca me sort ce message....