Announcement

Collapse
No announcement yet.

vom Thread eingelesene Werte in Label anzeigen.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • vom Thread eingelesene Werte in Label anzeigen.

    Ich habe den Server von Seite 901 aus folgenden pdf-Dokument erstellt:
    http://www.nik-it.de/downloads/index..._Computing.pdf

    Statt der Ausgabe auf der Console, will ich die empfangenen und gesendeten Daten in einem Label ausgeben (weil Console nervt).

    Den Code des Datenempfang habe ich in einen eigenen Thread gemacht.
    Code:
    countBytesFromClient = clientSocket.Receive(bytes)
    Dim str .... usw.
    Die gesendeten Werte in der Schleife konnte ich anzeigen.
    Das Anzeigen im Label des Forms funktioniert nur nicht.
    Ich habe eine Delegate-Routine erstellt gehabt.
    Es hat nur nichts bewirkt.

    Die Daten werden richtig gelesen. Daran liegt es nicht!

    Weiß einer weiter?

  • #2
    Du bekommst keine Fehlermeldung? In diesem Fall ein klares Zeichen von fehlendes oder schlechten Exceptionhandling

    Du darfst nicht einfach threadübergreifend auf Controls zugreifen(Du solltest eine entsprechende Exception bekommen wenn du die denn nicht einfach schluckst). Du musst den Zugriff synchronisieren damit nicht zeitgleich ein anderer Thread(zum Beispiel der Hauptthread) auch an diesem Control manipuliert. Dazu bieten alle Winforms Controls die Invoke Methode.

    Typischer Aufruf wäre zum Beispiel

    [Highlight=VB.Net]meinLiebesLabel.Invoke(Sub() meinLiebesLabel.Text = "meinTextAusEinemAnderenThread")[/Highlight]

    Comment

    Working...
    X