Bonjour à tous,
Voilà j'ai un petit problème dans mon application, en mode Debug mon appli se ferme comme une brute, et je reviens sous visual studio, sans même un message d'erreur...

Fonctionnement de mon appli : je lance un processus "Ansur.exe", qui exécute un test électrique. Je surveille la fermeture de ce processus. Dès lors qu'il est terminé, je lance la fonction "Fermeture". Je lis alors un fichier texte résultant du contrôle électrique créé précédemment via Ansur.
Si j'ai 15 fois le mot "..... Test Passed", j'affiche ma PictureBox24. Sinon, c'est que le test à échoué et j'affiche ma PictureBox23.
Également, je passe ma ToolStripProgressBar2 à 100%, et marque "Terminé" en ToolStripStatusLabel3.

Et c'est pile à ce moment là que mon appli plante...


Voici un extrait de mon code :

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
 StrCommandLine = FILE_ANSUR + " /r " + FILE_RESULT + FILE_JOBORDER + " /h"
            Call Shell(StrCommandLine, 1)
 
 
 
        Catch ex As Exception
 
            'Code exécuté en cas d'exception
            MsgBox("Erreur")
 
        End Try
 
        'Controle fermeture processus ansur.exe
 
        Dim p As Process = Process.GetProcessesByName("ansur")(0)
        AddHandler p.Exited, AddressOf Fermeture
        p.EnableRaisingEvents = True
 
        Me.ToolStripProgressBar2.Value = 90
        Me.ToolStripStatusLabel3.Text = "Contôle du résultat de test..."
 
 
    End Sub
 
 
    Private Sub Fermeture(ByVal sender As Object, ByVal e As EventArgs)
 
        Dim num As Integer = 0
        Dim FichierALire As String
        Dim i As Integer = 0
        FichierALire = FILE_RESULT & dossiertable & ".mtr"
        Try
            Dim sr As StreamReader = New StreamReader(FichierALire, System.Text.Encoding.Default)
            Dim ligne As String
            '--- Traitement du fichier ligne par ligne
            While Not sr.EndOfStream()
                ligne = sr.ReadLine()
 
                If ligne = "                     <Status>Passed</Status>" Then
                    i = (i + 1)
                End If
 
            End While
            '--- Referme StreamReader
            sr.Close()
 
            If i = 14 Then
                'MsgBox("Test passé !")
                num = 1
            Else
                'MsgBox("Test échoué !")
                num = 2
            End If
 
        Catch ex As Exception
            'traitement de l'exception sinon :
            Throw ex
        End Try
        Call resultattest(num)
 
    End Sub
 
    Private Sub resultattest(ByVal num As Integer)
 
        'MsgBox(num)
        Me.ToolStripProgressBar2.Value = 100
        Me.ToolStripStatusLabel3.Text = "Terminé."
        If num = 1 Then
            Me.PictureBox24.Visible = True
        Else
            Me.PictureBox23.Visible = True
        End If
 
    End Sub

Quelqu'un aurait-il une idée ? Merci pour votre aide !