Hallo,
wie in der Überschrift schon steht will ich zur Laufzeit Objekte erstellen die ein Ereigniss auslösen welches
in einem gemeinsamen Handler behandelt werden soll. Bekomms aber nicht hin
Mein kleines Test-Programm beendet sich einfach ohne mir eine Fehlermeldung auszuspucken ?!?
Das ganze soll eigentlich so weit gehen, dass ich verschiedene Objekte in die Liste lade die aber das gleiche
Event besitzen, muss also auch das DirectCast wegbringen.
Hoffe ich hab mich deutlich genug ausgedrückt
Hier mal mein Code:
wie in der Überschrift schon steht will ich zur Laufzeit Objekte erstellen die ein Ereigniss auslösen welches
in einem gemeinsamen Handler behandelt werden soll. Bekomms aber nicht hin
Mein kleines Test-Programm beendet sich einfach ohne mir eine Fehlermeldung auszuspucken ?!?
Das ganze soll eigentlich so weit gehen, dass ich verschiedene Objekte in die Liste lade die aber das gleiche
Event besitzen, muss also auch das DirectCast wegbringen.
Hoffe ich hab mich deutlich genug ausgedrückt
Hier mal mein Code:
VB.NET-Quellcode
- Imports System.Threading
- Public Class Form1
- Dim Objects As List(Of Object)
- Dim t As Test
- Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Objects.Add(New Test("AA"))
- Objects(0).Start()
- AddHandler DirectCast(Objects(0),Test).Ereigniss, AddressOf MyEventHandler
- End Sub
- Private Sub MyEventHandler(Msg As String)
- Debug.Print(Msg)
- End Sub
- End Class
- Public Class Test
- Private m_Name As String = ""
- Private myThread As Thread
- public Event Ereigniss(Msg As String)
- Public Sub New(Name As String)
- m_Name = Name
- End Sub
- Public Sub Start()
- myThread = New Thread(AddressOf DoWork)
- myThread.IsBackground = True
- myThread.Start()
- End Sub
- Private Sub DoWork()
- While true
- RaiseEvent Ereigniss(m_Name)
- Thread.Sleep(500)
- end while
- End Sub
- End Class