From 51c053769e5d820017c1b256583d4efe48cbbdba Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 6 Dec 2021 10:23:37 +0100 Subject: [PATCH] Improve Main form performance --- MultiTool.Form/frmMain.Designer.vb | 18 ++++++++++------ MultiTool.Form/frmMain.vb | 27 ++++++++++++++++++++++-- MultiTool.Shared/BaseClass.vb | 2 ++ MultiTool.Shared/Helpers.vb | 6 ++++-- MultiTool.Shared/MultiTool.Shared.vbproj | 3 +++ 5 files changed, 46 insertions(+), 10 deletions(-) diff --git a/MultiTool.Form/frmMain.Designer.vb b/MultiTool.Form/frmMain.Designer.vb index e528555..e7e7849 100644 --- a/MultiTool.Form/frmMain.Designer.vb +++ b/MultiTool.Form/frmMain.Designer.vb @@ -28,6 +28,7 @@ Partial Class frmMain Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() @@ -38,7 +39,7 @@ Partial Class frmMain Me.colName = New DevExpress.XtraGrid.Columns.GridColumn() Me.colDescription = New DevExpress.XtraGrid.Columns.GridColumn() Me.colFileName = New DevExpress.XtraGrid.Columns.GridColumn() - Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.SplashScreenManager1 = New DevExpress.XtraSplashScreen.SplashScreenManager(Me, GetType(Global.MultiTool.Form.frmWaitForm), True, True) CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -107,6 +108,13 @@ Partial Class frmMain Me.RibbonPageGroup1.Name = "RibbonPageGroup1" Me.RibbonPageGroup1.Text = "Start" ' + 'RibbonPageGroup3 + ' + Me.RibbonPageGroup3.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far + Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1) + Me.RibbonPageGroup3.Name = "RibbonPageGroup3" + Me.RibbonPageGroup3.Text = "RibbonPageGroup3" + ' 'RibbonPage3 ' Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2}) @@ -179,12 +187,9 @@ Partial Class frmMain Me.colFileName.Visible = True Me.colFileName.VisibleIndex = 2 ' - 'RibbonPageGroup3 + 'SplashScreenManager1 ' - Me.RibbonPageGroup3.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far - Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1) - Me.RibbonPageGroup3.Name = "RibbonPageGroup3" - Me.RibbonPageGroup3.Text = "RibbonPageGroup3" + Me.SplashScreenManager1.ClosingDelay = 500 ' 'frmMain ' @@ -226,4 +231,5 @@ Partial Class frmMain Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents SplashScreenManager1 As DevExpress.XtraSplashScreen.SplashScreenManager End Class diff --git a/MultiTool.Form/frmMain.vb b/MultiTool.Form/frmMain.vb index 9b9a342..ae8db8e 100644 --- a/MultiTool.Form/frmMain.vb +++ b/MultiTool.Form/frmMain.vb @@ -16,7 +16,7 @@ Public Class frmMain Private GridBuilder As GridBuilder Private FormHelper As FormHelper - Private Async Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load Try Text = String.Format(My.Resources.frmShared._0____WebService_Multitool_für_WinLine, My.Resources.frmShared.Auswahl_der_Vorlage) @@ -24,6 +24,19 @@ Public Class frmMain LogConfig.Debug = True Logger = LogConfig.GetLogger() Logger.Info("Starting {0}, Version [{1}]", Application.ProductName, Application.ProductVersion) + + Catch ex As Exception + FormHelper.ShowError(ex, My.Resources.frmShared.Laden_des_Formulars) + + End Try + End Sub + + Private Async Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown + SplashScreenManager1.ShowWaitForm() + + Try + SplashScreenManager1.SetWaitFormDescription("Initialisierung der Grundfunktionen") + FormHelper = New FormHelper(LogConfig) ConfigManager = New ConfigManager(Of [Shared].Config)(LogConfig, Application.UserAppDataPath, @@ -48,10 +61,14 @@ Public Class frmMain End If End If + SplashScreenManager1.SetWaitFormDescription("Initialisierung der Datenbankverbindung") + ' Initialize Database Dim oConnectionString = MSSQLServer.DecryptConnectionString(ConfigManager.Config.ConnectionString) Database = New MSSQLServer(LogConfig, oConnectionString) + SplashScreenManager1.SetWaitFormDescription("Initialisierung der Vorlagen") + ' Initialize Schemas TemplateLoader = New TemplateLoader(LogConfig, Database) Await TemplateLoader.LoadGeneralConfiguration() @@ -74,7 +91,10 @@ Public Class frmMain GridControl1.DataSource = oBindingSource Catch ex As Exception - FormHelper.ShowError(ex, My.Resources.frmShared.Laden_des_Formulars) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Laden_der_Winline_Daten) + + Finally + SplashScreenManager1.CloseWaitForm() End Try End Sub @@ -135,4 +155,7 @@ Public Class frmMain Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick TryOpenDirectory(LogConfig.LogDirectory, My.Resources.frmImportMainExtra.Logverzeichnis) End Sub + + + End Class \ No newline at end of file diff --git a/MultiTool.Shared/BaseClass.vb b/MultiTool.Shared/BaseClass.vb index 0ecd333..80d1415 100644 --- a/MultiTool.Shared/BaseClass.vb +++ b/MultiTool.Shared/BaseClass.vb @@ -3,9 +3,11 @@ Public Class BaseClass Public ReadOnly LogConfig As LogConfig Public ReadOnly Logger As Logger + Public ReadOnly Helpers As Helpers Public Sub New(pLogConfig As LogConfig) LogConfig = pLogConfig Logger = LogConfig.GetLogger() + Helpers = New Helpers(pLogConfig) End Sub End Class diff --git a/MultiTool.Shared/Helpers.vb b/MultiTool.Shared/Helpers.vb index 8718f31..1305a0b 100644 --- a/MultiTool.Shared/Helpers.vb +++ b/MultiTool.Shared/Helpers.vb @@ -1,10 +1,12 @@ Imports DigitalData.Modules.Logging Public Class Helpers - Inherits BaseClass + Private LogConfig As LogConfig + Private Logger As Logger Public Sub New(pLogConfig As LogConfig) - MyBase.New(pLogConfig) + LogConfig = pLogConfig + Logger = pLogConfig.GetLogger() End Sub Public Function GetDateDirectory(pBaseDirectory As String) diff --git a/MultiTool.Shared/MultiTool.Shared.vbproj b/MultiTool.Shared/MultiTool.Shared.vbproj index 5c37bd3..e75d985 100644 --- a/MultiTool.Shared/MultiTool.Shared.vbproj +++ b/MultiTool.Shared/MultiTool.Shared.vbproj @@ -47,7 +47,9 @@ ..\packages\AutoMapper.10.1.1\lib\net461\AutoMapper.dll + + ..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll @@ -124,6 +126,7 @@ Settings.settings True +