Bonjour,
je développe une application en vb.net 2010 qui permet la lecture de 21 pointeuses. J'ai une fenetre mdi parent "mdiprincipal". A l'ouverture du "mdiPrincipal", 21 fenetre filles mdi s'ouvrent (ces fenetres sont des instances du fenetre "Form1"). Dans "MDIPrincipal", il y a un bouton "ToolStripBtnDemarreTout" qui permet la lecture des 21 pointeuses simultanément.
Dans "Form1", j'ai fait une procédure pour la lecture des pointeuses "read_pointeuse()".
Mon problème : lors du clic sur "ToolStripBtnDemarreTout", "MDIPrincipal" se plante et le temps d'exécution est très lent.
J'ai lu plusieurs tutoriels sur les threads mais j'ai pas trouvé encore une solution.
voici le code:
Dans MDIPrincipal :
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
 
' Declaration des instances de Form1
Dim frmP1, frmP2, frmP3, frmP4, frmP5, frmP6, frmP7, frmP8, frmP9, frmP10, frmP11, _
        frmP12, frmP13, frmP14, frmP15, frmP16, frmP17, frmP18, frmP19, frmP20, frmP21 As New Form1
 
   Private Sub ToolStripBtnDemarreTout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripBtnDemarreTout.Click
        frmP1.pause = False   'pause : variable dans Form1
        DelegateReadP1.BeginInvoke(Nothing, Nothing)
        frmP2.pause = False
        DelegateReadP2.BeginInvoke(Nothing, Nothing)
        '................
        frmP21.pause = False
        DelegateReadP21.BeginInvoke(Nothing, Nothing)
    End Sub
 
'Declaration
    Public Delegate Sub typeDelegateReadPointeuse()
    Public DelegateReadP1 As New typeDelegateReadPointeuse(AddressOf frmP1.read_pointeuse)
    Public DelegateReadP2 As New typeDelegateReadPointeuse(AddressOf frmP2.read_pointeuse)
    '.............
    Public DelegateReadP21 As New typeDelegateReadPointeuse(AddressOf frmP21.read_pointeuse)
Dans Form1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    Public Sub read_pointeuse()
     ' l'execution de ce code est tres lente 
     ' connexion aux pointeuses et lecture 
     ' il y a acces aux objets de l'interface du "Form1" 
     ' exemple: 
      LblEtat.Text = "Err.Lecture"
 
    End Sub
Merci.