135 lines
5.2 KiB
VB.net
135 lines
5.2 KiB
VB.net
Imports System.ComponentModel
|
|
|
|
Public NotInheritable Class frmSplash
|
|
'TODO: Dieses Formular kann einfach als Begrüßungsbildschirm für die Anwendung festgelegt werden, indem Sie zur Registerkarte "Anwendung"
|
|
' des Projekt-Designers wechseln (Menü "Projekt", Option "Eigenschaften").
|
|
Private InitSteps As Integer = 7
|
|
Private bw As New BackgroundWorker()
|
|
Private mainForm As Form
|
|
|
|
Private Sub frmSplash_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
|
|
|
End Sub
|
|
|
|
Private Sub frmSplash_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
|
|
|
|
If e.KeyCode = Keys.Escape Then
|
|
ESC_Hidden = True
|
|
lblpersonilization.Visible = True
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
|
'Richten Sie den Dialogtext zur Laufzeit gemäß den Assemblyinformationen der Anwendung ein.
|
|
|
|
'TODO: Die Assemblyinformationen der Anwendung im Bereich "Anwendung" des Dialogfelds für die
|
|
' Projekteigenschaften (im Menü "Projekt") anpassen.
|
|
|
|
'Anwendungstitel
|
|
'If My.Application.Info.Title <> "" Then
|
|
' ApplicationTitle.Text = My.Application.Info.Title
|
|
'Else
|
|
' 'Wenn der Anwendungstitel fehlt, Anwendungsnamen ohne Erweiterung verwenden
|
|
' ApplicationTitle.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
|
|
'End If
|
|
|
|
'Verwenden Sie zum Formatieren der Versionsinformationen den Text, der zur Entwurfszeit in der Versionskontrolle festgelegt wurde, als
|
|
' Formatierungszeichenfolge. Dies ermöglicht ggf. eine effektive Lokalisierung.
|
|
' Build- und Revisionsinformationen können durch Verwendung des folgenden Codes und durch Ändern
|
|
' des Entwurfszeittexts der Versionskontrolle in "Version {0}.{1:00}.{2}.{3}" oder einen ähnlichen Text eingeschlossen werden. Weitere Informationen erhalten Sie unter
|
|
' String.Format() in der Hilfe.
|
|
'
|
|
' Version.Text = System.String.Format(Version.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)
|
|
|
|
Version.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
|
|
|
|
'Copyrightinformationen
|
|
Copyright.Text = My.Application.Info.Copyright & " " & My.Application.Info.CompanyName
|
|
Me.BringToFront()
|
|
|
|
InitProgram()
|
|
End Sub
|
|
|
|
Private Sub InitProgram()
|
|
bw.WorkerReportsProgress = True
|
|
AddHandler bw.DoWork, AddressOf bw_DoWork
|
|
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
|
|
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
|
|
|
|
' mainForm = My.Forms.frmMain
|
|
|
|
bw.RunWorkerAsync()
|
|
End Sub
|
|
|
|
Private Function CalcProgress(_step As Integer)
|
|
Return _step * (100 / InitSteps)
|
|
End Function
|
|
|
|
|
|
Private Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
|
|
Try
|
|
Dim Init = New ClassInit()
|
|
bw.ReportProgress(CalcProgress(1), "Initializing basic Settings (Logger, Settings)")
|
|
Init.InitLoggerANDConfig()
|
|
System.Threading.Thread.Sleep(500)
|
|
|
|
bw.ReportProgress(CalcProgress(2), "Initializing Database")
|
|
If Init.InitDatabase() = True Then
|
|
|
|
System.Threading.Thread.Sleep(500)
|
|
|
|
bw.ReportProgress(CalcProgress(3), "Initializing Basic-Configuration")
|
|
Init.InitBasics2()
|
|
|
|
System.Threading.Thread.Sleep(300)
|
|
|
|
bw.ReportProgress(CalcProgress(4), "Initializing User-Configuration")
|
|
If ClassInit.InitUserLogin = False Then
|
|
ERROR_INIT = "INVALID USER"
|
|
End If
|
|
|
|
|
|
System.Threading.Thread.Sleep(300)
|
|
|
|
bw.ReportProgress(CalcProgress(5), "Initializing Addons")
|
|
Init.InitAddons()
|
|
|
|
System.Threading.Thread.Sleep(500)
|
|
|
|
|
|
' InitInterface wurde in frmMain integriert
|
|
'Init.InitInterface(mainForm)
|
|
bw.ReportProgress(CalcProgress(6), "Initializing Node-Configuration")
|
|
'ClassConstructors.Init_Tuple()
|
|
|
|
|
|
bw.ReportProgress(CalcProgress(7), "Initializing Frontend")
|
|
|
|
System.Threading.Thread.Sleep(500)
|
|
Else
|
|
ERROR_INIT = "DATABASE"
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Unexpecte Error in Init Classes: " & vbNewLine, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub bw_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs)
|
|
pbStatus.Value = e.ProgressPercentage
|
|
lblStatus.Text = e.UserState.ToString()
|
|
End Sub
|
|
|
|
Private Sub bw_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs)
|
|
' Bei Fehler MsgBox anzeigen und Programm beenden
|
|
If e.Error IsNot Nothing Then
|
|
MsgBox(e.Error.Message, MsgBoxStyle.Critical, "Unexpected Error in frmSplash")
|
|
Application.Exit()
|
|
End If
|
|
|
|
' Wenn kein Fehler, Splashscreen schließen
|
|
Me.Close()
|
|
End Sub
|
|
End Class
|