Hallo Programmierer !
Ich brauche Hilfe bei einen Problem mit 2 Threads. Der erste Thread ist der "normale" von der dem GUI. In diesem Thread mache ich eine Schnittstelle auf um daten zu empfangen. Das Control welches das bewerkstelligt legt darauf ein Event (DataReceivedHandler) an welches aufgerufen wird, wenn Daten da sind. Aus dieser SUB möchte ich dann ein Label10.Text beschreiben (mit dem Wert der Daten). Wie mache ich das ? Bitte für ganz doofe erklären. TD wie Tausend Dank!!
hier der Code (VB2012)
-----------------------------
Ich brauche Hilfe bei einen Problem mit 2 Threads. Der erste Thread ist der "normale" von der dem GUI. In diesem Thread mache ich eine Schnittstelle auf um daten zu empfangen. Das Control welches das bewerkstelligt legt darauf ein Event (DataReceivedHandler) an welches aufgerufen wird, wenn Daten da sind. Aus dieser SUB möchte ich dann ein Label10.Text beschreiben (mit dem Wert der Daten). Wie mache ich das ? Bitte für ganz doofe erklären. TD wie Tausend Dank!!
hier der Code (VB2012)
-----------------------------
VB.NET-Quellcode
- Imports System.IO.Ports
- Public Class Form1
- Dim mySerialPort As New SerialPort("COM4")
- Pivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Label10.Text(" Im dem gleichen Thread, das geht!")
- End Sub
- Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
- mySerialPort.BaudRate = 9600
- mySerialPort.Parity = Parity.None
- mySerialPort.StopBits = StopBits.One
- mySerialPort.DataBits = 8
- mySerialPort.Handshake = Handshake.None
- mySerialPort.RtsEnable = True
- AddHandler mySerialPort.DataReceived, AddressOf DataReceivedHandler
- mySerialPort.Open()
- Label10.Text = ""
- End Sub
- Private Shared Sub DataReceivedHandler(sender As Object, e As SerialDataReceivedEventArgs)
- Dim Anzahl_Bytes As Integer ' Anzahl der bytes die warten
- Dim Bytes(100) As Byte ' gelesenes Byte
- Dim Read_Bytes(100) As Byte
- Dim InByte As Byte
- Dim X As Integer
- Dim Y As Integer
- Dim Z As Integer
- Dim Start As Integer
- Dim Ende As Integer
- Dim Tem1 As Byte
- Dim Tem2 As Byte
- Dim sp As SerialPort = CType(sender, SerialPort)
- Dim InData As String
- Anzahl_Bytes = sp.BytesToRead 'sind noch Bytes zu lesen da ?
- For X = 1 To Anzahl_Bytes
- Bytes(X) = sp.ReadByte
- Bytes(0) = X
- Next
- ' Hier will ich auf das Label10.Text aus der Form zugreifen bzw. beschreiben !
- ' Wie wird das gelöst ?
- Label10.Test = Byte2String(Bytes(1)
- End Sub
- End Class