WorldRacer
Erfahrenes Mitglied
Hi zusammen,
habe ein "kleines" Problem... Habe diesen code:
In Form1. Und diesen:
In einem Modul. Funktioniert auch so weit und schön. Wenn mein Socket eine Meldung erhält, bekomm ich auch ne Box. Aber er schreibt die Daten nicht in das Textfeld. Warum? Liegt es am Thread?
habe ein "kleines" Problem... Habe diesen code:
Code:
Private Sub Empfangen()
While 1
Console.WriteLine("")
Dim clientListener As New TcpListener(19900)
clientListener.Start()
Console.WriteLine("")
Dim mySocket As Socket = clientListener.AcceptSocket()
Console.WriteLine("")
Dim recieveBuff(225) As Byte
mySocket.Receive(recieveBuff, recieveBuff.Length, SocketFlags.None)
Dim str As String = System.Text.Encoding.ASCII.GetString(recieveBuff, 0, recieveBuff.Length).Trim(Microsoft.VisualBasic.ChrW(0))
While Not str.StartsWith(".")
mySocket.Receive(recieveBuff, recieveBuff.Length, SocketFlags.None)
str = System.Text.Encoding.ASCII.GetString(recieveBuff, 0, recieveBuff.Length).Trim(Microsoft.VisualBasic.ChrW(0))
frmDebug.txtDebug.Text = str
WorkOnMessage(str)
str = "."
End While
Console.WriteLine("")
clientListener.Stop()
End While
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim thread As New System.Threading.Thread(AddressOf Empfangen)
thread.Start()
frmDebug.Show()
End Sub
In Form1. Und diesen:
Code:
Public Sub WorkOnMessage(ByVal msg As String)
MsgBox(msg)
frmDebug.txtDebug.Text = msg
If msg = "OK" Then
Exit Sub
End If
If msg.Substring(0, 1) = "ST" Then
If msg.Substring(3, 4) = "01" Then
MsgBox("Die Karte 1 wurde gelegt")
End If
End If
If msg.Substring(0, 3) = "LIST" Then
Dim noList As String
noList = msg.Substring(4)
End If
MsgBox(msg)
End Sub
In einem Modul. Funktioniert auch so weit und schön. Wenn mein Socket eine Meldung erhält, bekomm ich auch ne Box. Aber er schreibt die Daten nicht in das Textfeld. Warum? Liegt es am Thread?