Bonjour, je récupère des données sur mon port com (évenementiel), à chaque réception de données, je modifie 6 label.text.
J'ai essayé plusieurs solutions dont ceux cités sur le site de microsoft mais je ne trouve pas.
Comment faire correctement l'appel de thread dans ce code et où le faire ?
Ce code actuel me renvoi comme message
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 Private Property thread1 As Thread Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ... ... ... End Sub Sub reception() Handles comPort.DataReceived Me.thread1 = New Thread(New ThreadStart(AddressOf Me.recu)) Me.thread1.Start() End Sub Public Sub recu() Dim nBytes As Integer = comPort.BytesToRead() Dim comBuffer As Byte() = New Byte(nBytes - 1) {} Dim lu As Integer lu = comPort.Read(comBuffer, 0, nBytes) If lu = 46 Then Select Case (Hex(comBuffer(3))) Case "0" Label1.Text = Int(comBuffer(39)) Label2.Text = Int(comBuffer(35)) Case "1" Label3.Text = Int(comBuffer(39)) Label4.Text = Int(comBuffer(35)) Case "2" Label5.Text = Int(comBuffer(39)) Label6.Text = Int(comBuffer(35)) End Select End If End SubMerci pour votre aideOpération inter-threads non valide : le contrôle 'Label1' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.
Partager