diff --git a/EnvelopeGenerator.Common/Entities/Envelope.vb b/EnvelopeGenerator.Common/Entities/Envelope.vb index adcbf2b8..c30d7525 100644 --- a/EnvelopeGenerator.Common/Entities/Envelope.vb +++ b/EnvelopeGenerator.Common/Entities/Envelope.vb @@ -34,7 +34,7 @@ Public ReadOnly Property EnvelopeTypeTitle As String Get - Return EnvelopeType.Title + Return EnvelopeType?.Title End Get End Property diff --git a/EnvelopeGenerator.Form/ApplicationEvents.vb b/EnvelopeGenerator.Form/ApplicationEvents.vb new file mode 100644 index 00000000..d148273d --- /dev/null +++ b/EnvelopeGenerator.Form/ApplicationEvents.vb @@ -0,0 +1,19 @@ +Imports Microsoft.VisualBasic.ApplicationServices + +Namespace My + ' Für MyApplication sind folgende Ereignisse verfügbar: + ' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst. + ' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung mit einem Fehler beendet wird. + ' UnhandledException: Wird bei einem Ausnahmefehler ausgelöst. + ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist. + ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst. + Partial Friend Class MyApplication + Protected Overrides Function OnUnhandledException(e As UnhandledExceptionEventArgs) As Boolean + Dim oMessage = $"Unexpected Error occurred, Application will close.{vbNewLine}{vbNewLine}{e.Exception.Message}{vbNewLine}Stacktrace:{vbNewLine}{e.Exception.StackTrace}" + MsgBox(oMessage, MsgBoxStyle.Critical, "EnvelopeCreator") + + e.ExitApplication = True + Return True + End Function + End Class +End Namespace diff --git a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj index 187e92dd..8cccf8c3 100644 --- a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj +++ b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj @@ -121,6 +121,7 @@ + diff --git a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb index c95f60a1..9fa1908c 100644 --- a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb +++ b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb @@ -11,7 +11,7 @@ Imports System.Runtime.InteropServices - + ' Setting ComVisible to false makes the types in this assembly not visible @@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - + diff --git a/EnvelopeGenerator.Form/frmMain.vb b/EnvelopeGenerator.Form/frmMain.vb index fa4ba0b3..38b3f03e 100644 --- a/EnvelopeGenerator.Form/frmMain.vb +++ b/EnvelopeGenerator.Form/frmMain.vb @@ -57,23 +57,31 @@ Public Class frmMain End Sub Private Sub LoadEnvelopes() - GridBuilder = New GridBuilder(ViewEnvelopes) - GridBuilder.SetReadOnlyOptions(ViewEnvelopes) + Try + GridBuilder = New GridBuilder(ViewEnvelopes) + GridBuilder.SetReadOnlyOptions(ViewEnvelopes) - GridBuilder.SetReadOnlyOptions(ViewHistory) - GridBuilder.SetDefaults(ViewHistory) + GridBuilder.SetReadOnlyOptions(ViewHistory) + GridBuilder.SetDefaults(ViewHistory) - GridEnvelopes.DataSource = Controller.ListEnvelopes() + GridEnvelopes.DataSource = Controller.ListEnvelopes() + Catch ex As Exception + Logger.Error(ex) + End Try End Sub Private Sub LoadCompletedEnvelopes() - GridBuilder = New GridBuilder(ViewCompleted) - GridBuilder.SetReadOnlyOptions(ViewCompleted) + Try + GridBuilder = New GridBuilder(ViewCompleted) + GridBuilder.SetReadOnlyOptions(ViewCompleted) - GridBuilder.SetReadOnlyOptions(ViewHistoryCompleted) - GridBuilder.SetDefaults(ViewHistoryCompleted) + GridBuilder.SetReadOnlyOptions(ViewHistoryCompleted) + GridBuilder.SetDefaults(ViewHistoryCompleted) - GridCompleted.DataSource = Controller.ListCompleted() + GridCompleted.DataSource = Controller.ListCompleted() + Catch ex As Exception + Logger.Error(ex) + End Try End Sub Private Sub LoadCharts()