Hallo,
habe hier zwei Methoden, die sich scheinbar gegenseitig aufrufen.
Der Code ist nicht von mir, die Kommentare hab ich eingefügt, damit ihr seht wie ich es bisher verstehe.
Spoiler anzeigen
Hab ich das richtig erkannt? Natürlich müsste der Catch immer wieder ausgelöst werden, kann das überhaupt?
Viele Grüße
habe hier zwei Methoden, die sich scheinbar gegenseitig aufrufen.
Der Code ist nicht von mir, die Kommentare hab ich eingefügt, damit ihr seht wie ich es bisher verstehe.
VB.NET-Quellcode
- Delegate Sub ListViewAddItem_delegate(ByVal DB As String, ByVal Zeit As String, ByVal ID As String, ByVal Ereignis As String) 'den gibt es nur damit ich die Methode in den nachfolgenden Invoke reinkriege
- Private Sub ListViewAddItem(ByVal DB As String, ByVal Zeit As String, ByVal ID As String, ByVal Ereignis As String)
- Try
- If Me.ListView1.InvokeRequired Then ''Invoked wird, weil die Methode manchmal aus einem SerialPort-Thread aufgerufen wird
- Dim d As New ListViewAddItem_delegate(AddressOf ListViewAddItem)
- Me.ListView1.BeginInvoke(d, Zeit, DB, ID, Ereignis) ''Sehr komisch ist, dass hier die Einträge DB und Zeit vertauscht sind, das ist doch falsch, oder wie funktioniert das? Und dann ruft es sich selbst auf aber ist dann im Thread des ListViews
- Else
- Dim lvi As New ListViewItem(Zeit)
- lvi.SubItems.Add(DB)
- lvi.SubItems.Add(ID)
- lvi.SubItems.Add(Ereignis)
- ListView1.Items.AddRange(New ListViewItem() {lvi})
- ListView1.Update()
- End If
- Catch ex As Exception
- fehlereintrag(ID, ex.Message) 'das ruft diese Methode hier auf
- Exit Sub
- End Try
- End Sub
- Sub fehlereintrag(ByVal strpistol_id As String, ByVal Fehler As String)
- Dim DB As String = "MSSQL"
- Dim Zeit As String = CStr(Now)
- Dim ID As String = strpistol_id
- Dim Ereignis As String = Fehler
- ListViewAddItem(Zeit, DB, ID, Ereignis) 'hier springt er in die Methode, die wieder hier reinspringen kann.
- End Sub
Hab ich das richtig erkannt? Natürlich müsste der Catch immer wieder ausgelöst werden, kann das überhaupt?
Viele Grüße