Vinzenz Mai: VB.NET > Thread mit übergabewerten.

Beitrag lesen

Hallo,

Private Sub irgend_eine_Funktion_mit_Werten(ByVal irgend_ein_Wert As Object)
    MessageBox.Show(irgend_ein_Wert)
End Sub

Private Sub Button1Click(ByVal sender As Object,ByVal e As System.EventArgs) Handles hutton1.Click
    Dim th As New System.Threading.Thread(AddressOf irgend_eine_Funktion)
End Sub

Und die Gallileo-Handbücher sind genauso verwirrend.

fand ich zu diesem Thema nicht.
Ein simples Beispiel, simpler als Deines, das ein eigenes Formular mit dem Namen MessageBox verwendet:

  
Public Class Form1  
  
    ' Prozedur, die in einem neuen Thread aufgerufen werden soll  
    ' Wie Du richtig erkannt hast, muss der Parameter als Objekt übergeben  
    ' werden  
    Private Sub MyProcedure(ByVal obj As Object)  
        ' Wende die toString-Methode an, die *jedes* Objekt in VB.NET hat,  
        ' um den Übergabeparameter in eine Zeichenkette zu wandeln, das was  
        ' eine Messagebox haben will.  
        MsgBox(obj.toString)  
    End Sub  
  
    Private Sub Button1_Click( _  
        ByVal sender As Object, _  
        ByVal e As System.EventArgs _  
    ) Handles Button1.Click  
        ' Soweit warst Du ja schon.  
        Dim myThread As New System.Threading.Thread(AddressOf MyProcedure)  
  
        ' Du musst nur noch den Thread starten :-)  
        ' Ein typisches "Hallo Welt"-Programm  
        myThread.Start("Hallo Thread!") ' MsgBox erscheint mit dem Inhalt "Hallo Thread!"  
    End Sub  
  
End Class  

Freundliche Grüße

Vinzenz