VB2005 Zugriff auf Variable von einem Thread aus

max2k3

Lt. Commander
Registriert
Apr. 2003
Beiträge
1.818
Hi, hab eine Frage zu folgender Problemstellung:

Ich habe eine Variable, beispielsweise "status as Boolean" in einer Class Main_Frame. In dieser Klasse habe ich folgende Methode erstellt

Code:
 Sub Testthread()

        Dim del As ThreadStart
        del = New ThreadStart(AddressOf Beispielklasse.Beispielmethode)
        Dim myFirstThread As New Thread(del)

        myFirstThread.IsBackground = False
        myFirstThread.Start()

    End Sub


'Die Ausführung mach ich mit   "Testthread()" in einem Button_Click handler



Die Beispielklasse sieht so aus:

Code:
Public Beispielklasse

Shared Sub Beispielmethode

MsgBox("Main_Frame.Status")

End Sub



End Class


Jedoch erscheint bei ausführung nur eine leere MsgBox.. Nun die Frage wieso?. Ich möchte das mit Threads machen um die Anwendung bzw die gui nicht zu blockieren. eigentlihc sind die methoden natürlich komplexer aber habe es auf das grundproblem (der zugriff auf variablen außerhalb des threads ist nicht möglich). Sorry falls die frage zu einfach ist ich bin leider noch anfänger in vb =)



Edit: Der Wert von status wird zur Laufzeit ermittelt (in anderer Methode). Wenn ich status gleich bei der Deklaration zB auf "false" stelle funktioniert es richtig. bringt mir aber nichts da ich ja den korrekten wert brauche der erst vorher ermittelt wird. alle ändernungen an der variable werden ignoriert und nur der erste wert angezeigt
 
Zuletzt bearbeitet:
Ich hab das mal schnell nachprogrammiert und bei mir funktionierts.

Normalerweise müsste selbst wenn die Variable Status keinen Wert zugewiesen bekommen hat "False" zurückliefern. Versuch mal statt "MsgBox(...)" "MessageBox.Show(...)". Das ist die .NET Methode.

Sonst versteh ich auch nicht was das schief läuft.
 
Zurück
Oben