Forum: PC-Programmierung VB2008 Express und RS232 Event, in Textbox schreiben


von stefan (Gast)


Lesenswert?

Hallo,
ich möchte aus dem Com Event der Seriellen Schnittstelle direkt einen 
jeweils Empfangenen String in eine Textbox schreiben. So wie ich das 
verstanden habe wird durch das Com Event ein zweiter Thread gestartet. 
Aus diesem Thread ist es nun nicht möglich direkt in eine Textbox zu 
schreiben, weil diese eigendlich in dem schon bestehenden Thread genutzt 
wird. Ich habe gelesen das es irgendwie mit dem Delegate funktioniert. 
Hat villeicht jemand ein Beispiel in dem das so gelöst wird?
Ich arbeite mit Visual Studio 2008 Express. Initialisieren, senden und 
Empfangen von Bytes funktioniert soweit wunderbar. Ich kann meine 
eingegangenen Bytes zu einem String zusammenfassen und mit

Debug.Print(eingangsstring)

in die Debug-Konsole ausgeben. Nur soll es hier heißen:

textbox1.text=eingangsstring

mfg
Stefan

von Severino R. (severino)


Lesenswert?

Mehr oder weniger so:

Definitionen:

Delegate Sub UpdateTextBoxDel(ByVal s As String)
Private Sub UpdateTextBox(ByVal s As String)
    TextBox1.Text = s
End Sub


Aufruf:

TextBox1.BeginInvoke(New UpdateTextBoxDel(AddressOf UpdateTextBox), _
              New Object() {Msg})

Weitere Infos:

http://www.ppc-welt.info/community/archive/index.php?t-94855.html

Oder Suchmaschinen, Stichwörter: BeginInvoke SerialPort VB2005

von Stefan (Gast)


Lesenswert?

Hallo Severino,
das funktioniert tadelos! Ich bin begeistert und bedanke mich sehr bei 
dir.

mfg
Stefan

von Severino R. (severino)


Lesenswert?

Gerne

Viel Spass

von juppi (Gast)


Lesenswert?

Hallo
Habe es vor längere Zeit gesucht ..gefunden und wieder vergessen.

Jetzt habe ich es gleich genutzt.
Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.