Hallo muss gleich weg, deswegen mach ichs kurz. Wenn ich diesen Code benutze:
Dann bekomme ich folgende Fehlermeldung:
Ich rufe doch Invoke auf, wenn ich auf den Button klicke, also wurde das Fensterhandle doch schon erstellt oder? Wenn ich jedoch die beiden Subs start & result in der Form1 Klasse einfüge, dann funktioniert alles problemlos, nur mit einer anderen Klasse nicht..weiß jemand warum das so ist? Ich würde es gerne in einer anderen Klasse haben, damit meine Hauptklasse nicht mit tausenden Aufrufen vollgestopft ist..
VB.NET-Quellcode
- Public Class Form1
- Private Button1_Click (...)
- Class1.t.Start()
- End Sub
- End Class
- Public Class Class1
- Public Delegate Sub myDel(ByVal number As Integer)
- Public Shared t As New Threading.Thread(AddressOf start)
- Public Shared Sub start()
- Dim counter As Integer = 1
- Do
- Form1.Invoke(New myDel(AddressOf result), counter)
- Threading.Thread.Sleep(1000)
- counter += 1
- Loop
- End Sub
- Public Shared Sub result(ByVal number As Integer)
- Form1.Label1.Text = "Test " & number
- End Sub
- End Class
Dann bekomme ich folgende Fehlermeldung:
Ich rufe doch Invoke auf, wenn ich auf den Button klicke, also wurde das Fensterhandle doch schon erstellt oder? Wenn ich jedoch die beiden Subs start & result in der Form1 Klasse einfüge, dann funktioniert alles problemlos, nur mit einer anderen Klasse nicht..weiß jemand warum das so ist? Ich würde es gerne in einer anderen Klasse haben, damit meine Hauptklasse nicht mit tausenden Aufrufen vollgestopft ist..