VB : systeme en cours d utilisation par un autre processus

Résolu/Fermé
Gran - 30 août 2016 à 03:53
 Utilisateur anonyme - 30 août 2016 à 23:52
Bonjour, je sais que ce sujet semble clos.. mais je me suis fié sur les réponses données ici. Malheureusement j'ai un léger soucis, le code ne semble pas fonctionner à un ou deux près. J'ai mis en gras et souligné mon problème. Avant de lancer l'application, tout va bien. Mais lorsque j'ai choisi l'emplacement et clique sur enregistrer, une erreur me parvient : systeme en cours d utilisation par un autre processus Le fichier est bel et bien créé, mais ne comporte rien (0 ko). Merci pour votre aide

Imports System.IO

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
' Displays a SaveFileDialog so the user can save the Image
' assigned to Button2.
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "Routier file|*.rout"
saveFileDialog1.Title = "Save an Routier File"
saveFileDialog1.ShowDialog()

' If the file name is not an empty string open it for saving.
If saveFileDialog1.FileName <> "" Then
' Saves the Image via a FileStream created by the OpenFile method.
Dim fs As System.IO.FileStream = CType _
(saveFileDialog1.OpenFile(), System.IO.FileStream)
Using outfile As New StreamWriter(saveFileDialog1.FileName)
outfile.Write(TextBox1.Text)
outfile.Write(CheckBox2.Text)
outfile.Write(CheckBox1.Text)
End Using
Select Case saveFileDialog1.FilterIndex
End Select

fs.Close()
End If
End Sub



Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim myStream As Stream = Nothing
Dim openFileDialog1 As New OpenFileDialog()

openFileDialog1.InitialDirectory = "c:\"
openFileDialog1.Filter = "Routier file (*.rout)|*.rout|All files (*.*)|*.*"
openFileDialog1.FilterIndex = 2
openFileDialog1.RestoreDirectory = True

If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then

End If
Try

Catch ex As Exception

End Try
myStream = openFileDialog1.OpenFile()
If (myStream IsNot Nothing) Then

End If
' Insert code to read the stream here.
Using sr As New StreamReader(openFileDialog1.FileName)
TextBox1.Text = sr.ReadLine()
CheckBox2.Text = sr.ReadLine()
CheckBox1.Text = sr.ReadLine()
End Using
Try
Catch Ex As Exception
MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
Finally
' Check this again, since we need to make sure we didn't throw an exception on open.
If (myStream IsNot Nothing) Then
myStream.Close()
End If
End Try
End Sub
End Class



A voir également:
  • VB : systeme en cours d utilisation par un autre processus
  • Vb - Télécharger - Langages
  • Vb cable - Télécharger - Audio & Musique
  • Vb runtime - Télécharger - Divers Utilitaires
  • Vb editor - Télécharger - Langages
  • Vb 2008 - Télécharger - Langages

4 réponses

Utilisateur anonyme
30 août 2016 à 08:52
Bonjour

je sais que ce sujet semble clos..


imaginez que votre boulanger vous demande si vos préférez le pain blanc ou complet.
Vous sortez de la boulangerie et entrez dans la boucherie en disant à qui veut l'entendre "Complet bien sûr".
Personne ne va comprendre.

C'est exactement ce que vous avez fait sur ce forum en cliquant sur le bouton vert "Créer une discussion". Pour répondre à une discussion il faut cliquer sur le bouton BLEU "Répondre", s'il le bouton n'est pas visible c'est que la discussion est close et qu'on ne peut plus y répondre.



Cela étant dit, vu ton code c'est logique.

           Dim fs As System.IO.FileStream = CType _
               (saveFileDialog1.OpenFile(), System.IO.FileStream)'ici tu crées et ouvre le fichier et tu mets ça dans un stream
            Using outfile As New StreamWriter(saveFileDialog1.FileName)'là tu essayes à nouveau de le créer et de l'ouvrir pour le mettre dans un autre stream alors que tu viens de le faire.....
0
Je n'ai pas fait gaffe désolé. En faite, j'ai envoyé et j'ai remarqué cela.. mais à part le ''Je sais que le sujet semble clos'' je trouvais que le sujet est tout de même compréhensible, c'est pour cela que je l'ai laissé.

J'ai en effet retiré
 Dim fs As System.IO.FileStream = CType _
(saveFileDialog1.OpenFile(), System.IO.FileStream)'ici tu crées et ouvre le fichier et tu mets ça dans un stream


Et tout semble fonctionner à une chose près... lorsque je l'ouvre, tout ne se retrouve que sur la textbox... J'ai même fait le test avec seulement 3 textbox et les trois textes se retrouve tous dans le textbox.

Auriez vous une solution à ça? Merci!
0
Solution trouvée, j'ai changé Write pour WriteLine. Le tout fonctionne à merveille. Un gros merci! Sujet clos! :)
0
Utilisateur anonyme
30 août 2016 à 23:52
De rien, pense à passer le sujet résolu, avec le lien éponyme sous le titre de la discussion
0