Bonjour je suis en train de refaire un programme dans lequel j'ai énormément de GOTO. Pour essayé de les éliminer, j'ai fais des petite fonctions.
Dans mon code pour un bouton j'aiDans une fonction j'ai fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 private void button1_Click(object sender, EventArgs e) { //définition des variables locale DialogResult r = DialogResult; // variable longueur pour la longueur du nom du fichier avec le chemin int longueur = 0; if (radioButton1.Checked == false && radioButton2.Checked == false && radioButton3.Checked == false && radioButton4.Checked == false) { MessageBox.Show("Vous n'avez pas choisi le type de processeur!", "ERREUR", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //ouverture du fichier à désassembler OpenFileDialog dlg = new OpenFileDialog(); //affichage de la boite de dialogue ouverture de fichier dlg.Title = "Ouverture du fichier à désassembler"; ....... //création du constructeur de lecture du fichier à désassembler FileStream fs = new FileStream(fichier, FileMode.Open, FileAccess.Read); //création du lecteur StreamReader lecfic = new StreamReader(fs);Lorsque j’exécute j'ai un message sur la première ligne A = lecfic.ReadLine(); Exception levée A = lecfic.ReadLine(); system.Nullreference exception : la référence d'objet n'est pas définie à une instance d'un objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void adok() { //lecture de la première ligne de code (entete) A = lecfic.ReadLine(); //lecture de la deuxième ligne début du code A = lecfic.ReadLine(); //positionnement sur le premier byte de la ligne commence à 0, 5 hexa soit 6 en décimale pb = 5; // vers la routine Boucle1 Boucle1(); // goto Boucle1; //=====> }
J'ai du oublier quelques chose ?? Je pense que les définitions du StreamReader sont perdue en quitant la fonction bouton1. Comment les faire suivre dans mes autres fonctions ????
Partager