vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Problem mit Aktualisierung einer Textbox bei seriellem Empfang 
Autor: Lupus52
Datum: 16.12.16 12:41

Hallo,

ich habe eine Klasse Form1 und eine Klasse Class_COM. 2 separate Dateien. Form1.vb und Class_COM.vb
Das ganze gehört zu einer Mess-Software.

Habe das ganze runtergebrochen bis auf Minimum und finde den Fehler nicht.

Unter "Form" habe ich eine Form mit Button "Senden" und eine Textbox für die Ausgabe.

Unter Class_Com habe ich 4 Subs bzw. Funktionen.

OpenCom
WriteCom
ReadCom
CloseCom

Nach dem Druck auf Senden wird ein Steuer-String für ein Gerät korrekt gesendet.
Die Antwort wird auch korrekt empfangen wie man an einer Debugausgabe unter Read_Com sieht.

Parallel zur Debugausgabe soll der String in Form1.Textbox2.Text landen. Macht er aber nicht. Es passiert schlicht gar nichts in der Anzeige der Textbox. Wobei aber das Event "Textchangend" dieser Textbox ausgelöst wird! D.h. die Box hat was bekommen.

Wenn ich dieselbe Ausgabezeile an beliebige andere Stellen im Programm plaziere geht es. Z.b. unter OpenCom. Dann schreibt es "open" in die Textbox.

Nur die empfangenen Daten bzw. ein Dummytext "123" kommt nicht zur Anzeige.

Ein Refresh oder Update der Textbox bringt auch nichts.

Mein Latein ist am Ende

Imports System.IO.Ports
Imports System.Threading
 
Public Class Class_COM
Public Shared _serialPort As SerialPort
 
Public Function OpenCom() As Boolean 
 
  _serialPort = New SerialPort()        
  _serialPort.PortName = "COM2"
  _serialPort.BaudRate = 115200
  _serialPort.Parity = 0
  _serialPort.DataBits = 8
  _serialPort.StopBits = 1
  _serialPort.RtsEnable = True
  _serialPort.DtrEnable = True
  _serialPort.Handshake = 0
  _serialPort.ReadTimeout = 500         
  _serialPort.WriteTimeout = 500
 
  AddHandler _serialPort.DataReceived, AddressOf DataReceivedHandler
 
        Try
            _serialPort.Open()
        Catch ex As Exception
            MsgBox("Comport " & Form1.Comport & " konnte nicht geöffnet werden")
            Return 0
        End Try
 
        If _serialPort.IsOpen Then
            Form1.TextBox2.Text = "open"
            Return True
        Else
            Return 0
        End If
 
End Function
 
    Public Sub WriteCom(message)
        _serialPort.WriteLine(message)
    End Sub
 
    Public Function CloseCom() As Boolean
        _serialPort.Close()
        Form1.TextBox2.Text = "closed"
    End Function
 
    Public Function comstatus() As Boolean
        Return _serialPort.IsOpen
    End Function
 
    Private Shared Sub DataReceivedHandler(sender As Object, e As _
      SerialDataReceivedEventArgs)
        Dim sp As SerialPort = CType(sender, SerialPort)
        Dim indata As String = sp.ReadExisting()
        Console.Write("RX: ")
        Console.WriteLine(indata)
        Form1.TextBox2.Text = "123"
    End Sub
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit Aktualisierung einer Textbox bei seriellem Empfa...1.664Lupus5216.12.16 12:41
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...980effeff16.12.16 13:43
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...971Lupus5216.12.16 15:03
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...998sv0001016.12.16 17:42
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...1.012Lupus5216.12.16 18:29
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...1.019sv0001016.12.16 19:33
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...1.079Lupus5219.12.16 00:55
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...1.000Manfred X19.12.16 06:20
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...1.057Lupus5219.12.16 10:41
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...1.096Lupus5219.12.16 13:24
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...995Manfred X19.12.16 19:44
Re: Problem mit Aktualisierung einer Textbox bei seriellem E...974Lupus5219.12.16 20:05

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel