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 :
Dans Form1:
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)
Merci.
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
Partager