Meilleur auteur de réponses
endofstreamexception n'a pas été gérée

Question
-
Bonjour à tous
Je sèche carrément sur le problème suivant: J'ai ajouté un textbox sur un windows form de mon application, effectué dans le code les modifications nécessaires relatives au nouveau textbox et débugué.
L'application s'ouvre correctement, les nouveaus fichiers ainsi créés se sauvegardent et s'ouvrent normalement, mais lorsque j'essaie d'ouvrir un fichier sauvegardé, créé avant cette modification, je reçois le message suivant:
"txtN28.Text = FileReader.ReadStream (il s'agit du nouveau textbox en surbrillance)
"endofstreamexception n'a pas été gérée. Impossible de lire au-delà de la fin du flux."
L'erreur est donc bien identifiée. Par contre je ne trouve pas la formule pour que le processus d'ouverture de mon vieux fichier ne tienne pas compte de la présence de ce dernier textbox.
Quelqu'un parmi vous a-t-il une suggestion à me fournir?
Merci par avance.
Réponses
-
Bonjour Richard
Merci de répondre si vite. En effet mon exposé ne permettait pas de comprendre clairement le problème. Entretemps je viens de réaliser que j'avais oublié d'insérer la clause "catch ex as exception" avec sa msgbox. Le fichier se charge donc, il n'y a plus qu'à entrer la donnée du nouveau textbox et de sauvegarder la nouvelle version.
Désolé de vous avoir fait perdre du temps.
A toutes fins utiles, ci-dessous mon code Open Data abrégé aux deux derniers textboxes, le n°28 venant d'être ajouté.
Private Sub mnuOpenData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuOpenData.Click dlgOpenData.InitialDirectory = "C:\Program Files\AppName\Project File (metric units)" If dlgOpenData.ShowDialog() = Windows.Forms.DialogResult.OK Then Dim fleApp As FileStream = New FileStream(dlgOpenData.FileName, FileMode.Open, FileAccess.Read, FileShare.Read) Dim AppReader As BinaryReader = New BinaryReader(fleApp) Try .......... txtN27.Text = AppReader.ReadString() txtN28.Text = AppReader.ReadString() Catch ex As Exception MsgBox(ex.ToString) 'peut être remplacé par une information à l'utilisateur Finally AppReader.Close() fleApp.Close() End Try End If End Sub
Cordialement
Zwinvoorde
- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator mercredi 15 octobre 2014 11:46
Toutes les réponses
-
Bonjour,
Je ne suis pas sur d'avoir tout compris mais pour lire le contenu d'un fichier, le plus simple est d'utiliser File :
Dim contenu = File.ReadAllText("nomduFichier")
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone -
Bonjour Richard
Merci de répondre si vite. En effet mon exposé ne permettait pas de comprendre clairement le problème. Entretemps je viens de réaliser que j'avais oublié d'insérer la clause "catch ex as exception" avec sa msgbox. Le fichier se charge donc, il n'y a plus qu'à entrer la donnée du nouveau textbox et de sauvegarder la nouvelle version.
Désolé de vous avoir fait perdre du temps.
A toutes fins utiles, ci-dessous mon code Open Data abrégé aux deux derniers textboxes, le n°28 venant d'être ajouté.
Private Sub mnuOpenData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuOpenData.Click dlgOpenData.InitialDirectory = "C:\Program Files\AppName\Project File (metric units)" If dlgOpenData.ShowDialog() = Windows.Forms.DialogResult.OK Then Dim fleApp As FileStream = New FileStream(dlgOpenData.FileName, FileMode.Open, FileAccess.Read, FileShare.Read) Dim AppReader As BinaryReader = New BinaryReader(fleApp) Try .......... txtN27.Text = AppReader.ReadString() txtN28.Text = AppReader.ReadString() Catch ex As Exception MsgBox(ex.ToString) 'peut être remplacé par une information à l'utilisateur Finally AppReader.Close() fleApp.Close() End Try End If End Sub
Cordialement
Zwinvoorde
- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator mercredi 15 octobre 2014 11:46