MS windream StartStop on Startup

This commit is contained in:
Digital Data - Marlon Schreiber 2018-09-27 17:11:01 +02:00
parent a004317c51
commit 3b5bb80053
10 changed files with 104 additions and 57 deletions

View File

@ -2,7 +2,7 @@
Imports DLLLicenseManager
Public Class ClassInit
Private _windreamPM As ClassPMWindream
Public _lizenzManager As ClassLicenseManager
Public Sub New()
End Sub
@ -40,18 +40,18 @@ Public Class ClassInit
Return True
End If
End Function
Public Function InitWindream()
Try
' Windream instanziieren
_windreamPM = New ClassPMWindream()
'Windream initialisieren (Connection, Session, ... aufbauen)
Return _windreamPM.Init()
'Public Function InitWindream()
' Try
' ' Windream instanziieren
' _windreamPM = New ClassPMWindream()
' 'Windream initialisieren (Connection, Session, ... aufbauen)
' Return _windreamPM.Init()
Catch ex As Exception
MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
Return False
End Try
End Function
' Catch ex As Exception
' MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
' Return False
' End Try
'End Function
Sub Refresh_Licence()
Try
Me._lizenzManager = New ClassLicenseManager("#DigitalData35452!#", "")
@ -173,11 +173,35 @@ Public Class ClassInit
sql = "select * from TBDD_CONNECTION"
CURRENT_DT_TBDD_CONNECTION = ClassDatabase.Return_Datatable(sql)
Settings_LoadBasicConfig()
Catch ex As Exception
ClassLogger.Add("Unexpected Error in InitBasics: " & ex.Message, True)
ERROR_STATE = "Basics not initialized"
End Try
End Sub
Private Shared Function Settings_LoadBasicConfig()
Try
Dim sql As String = "select * from tbdd_Modules where SHORT_NAME = 'PM'"
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql)
If DT.Rows.Count = 1 Then
vWLaufwerk = DT.Rows(0).Item("STRING1")
vVERSION_DELIMITER = DT.Rows(0).Item("VERSION_DELIMITER")
vFILE_DELIMITER = DT.Rows(0).Item("FILE_DELIMITER")
Try
WMSESSION_STARTSTOP_STARTUP = DT.Rows(0).Item("WMSESSION_STARTSTOP_STARTUP")
Catch ex As Exception
WMSESSION_STARTSTOP_STARTUP = False
End Try
Else
Return False
End If
Catch ex As Exception
MsgBox("Error in Settings_LoadBasicConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
Return True
End Function
Private Function Check_User_Exists_in_Group(ByVal Groupname As String)
Try
Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = '{1}'", USER_ID, Groupname)

View File

@ -31,13 +31,13 @@ Public Class ClassWindream_allgemein
''' <remarks></remarks>
Sub New()
' wenn ein Fehler bei der Initialisierung auftrat
If Not Me.Init() Then
' Nachricht ausgeben
MsgBox("Es trat ein Fehler bei der Initialisierung der Klasse windream auf. Bitte prüfen Sie ob der windream-Server aktiv ist und alle Dienste gestartet sind.", MsgBoxStyle.Exclamation, "Fehler bei Initialisierung")
'If Not Me.Init() Then
' ' Nachricht ausgeben
' MsgBox("Es trat ein Fehler bei der Initialisierung der Klasse windream auf. Bitte prüfen Sie ob der windream-Server aktiv ist und alle Dienste gestartet sind.", MsgBoxStyle.Exclamation, "Fehler bei Initialisierung")
' das Programm "abschießen"
Process.GetCurrentProcess.Kill()
End If
' ' das Programm "abschießen"
' Process.GetCurrentProcess.Kill()
'End If
End Sub
@ -46,7 +46,7 @@ Public Class ClassWindream_allgemein
''' </summary>
''' <returns>Liefert True wenn das Anmelden erfolgreich war, sonst False</returns>
''' <remarks></remarks>
Public Function Init() As Boolean
Public Function Create_Session() As Boolean
Try
Try
' Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen
@ -120,7 +120,7 @@ Public Class ClassWindream_allgemein
Catch ex As Exception
If Err.Number = -2147220985 Then
MsgBox("Die installierte windream-Version ist nicht ausreichend für den Betrieb der Tool Collection für windream." & vbNewLine & _
MsgBox("Die installierte windream-Version ist nicht ausreichend für den Betrieb der Tool Collection für windream." & vbNewLine &
"Bitte kontaktieren Sie Digital Data." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & Err.Description, MsgBoxStyle.Exclamation, "Unzureichende windream-Version")
Else
MsgBox("Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler beim Login an windream")
@ -129,7 +129,36 @@ Public Class ClassWindream_allgemein
End Try
End Function
Public Function Start_WMCC_andCo()
If WMSESSION_STARTSTOP_STARTUP = True Then
Try
Dim owindreamControlCenter = CreateObject("Wmcc.ControlCenter")
Dim owindreamIndexService = CreateObject("WMIndexServer.WMIdxSvControl")
owindreamControlCenter.StartVFSService(1)
owindreamIndexService.Start()
System.Threading.Thread.Sleep(1500)
Create_Session()
Catch ex As Exception
ClassLogger.Add("Error while starting up WMCC and IndexService: " & ex.Message, True)
End Try
End If
End Function
Public Function Stop_WMCC_andCo()
If WMSESSION_STARTSTOP_STARTUP = True Then
Try
Dim owindreamControlCenter = CreateObject("Wmcc.ControlCenter")
Dim owindreamIndexService = CreateObject("WMIndexServer.WMIdxSvControl")
owindreamControlCenter.StartVFSService(0)
owindreamIndexService.Shutdown()
owindreamControlCenter.ExitCC(0)
Catch ex As Exception
ClassLogger.Add("Error while Stopping WMCC and IndexService: " & ex.Message, True)
End Try
End If
End Function
#End Region

View File

@ -21,6 +21,7 @@ Module ModuleMySettings
Public vWLaufwerk As String = "W"
Public vVERSION_DELIMITER As String = "~"
Public vFILE_DELIMITER As String = "_"
Public WMSESSION_STARTSTOP_STARTUP As Boolean = False
Public Function Settings_Load()
Try
@ -190,21 +191,5 @@ Module ModuleMySettings
Return True
End Function
Public Function Settings_LoadBasicConfig()
Try
Dim sql As String = "select * from tbdd_Modules where NAME = 'Record-Organizer'"
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql)
If DT.Rows.Count = 1 Then
vWLaufwerk = DT.Rows(0).Item("STRING1")
vVERSION_DELIMITER = DT.Rows(0).Item("VERSION_DELIMITER")
vFILE_DELIMITER = DT.Rows(0).Item("FILE_DELIMITER")
Else
Return False
End If
Catch ex As Exception
MsgBox("Error in Settings_LoadBasicConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
Return True
End Function
End Module

View File

@ -60,7 +60,7 @@ Public Class frmAdministration
' Windream instanziieren
_windreamPM = New ClassPMWindream()
'Windream initialisieren (Connection, Session, ... aufbauen)
_windreamPM.Init()
_windreamPM.Create_Session()
Catch ex As Exception
MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try

View File

@ -25,15 +25,6 @@ Public Class frmMain
Private _windream As New ClassWindream_allgemein
Private Sub frmProfiles_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try
ClassAllgemeineFunktionen.LoginOut("LOGOUT")
ClassLogger.Add("## ProcessManager beendet - " & Now, False)
ClassLogger.Add("", False)
Catch ex As Exception
ClassLogger.Add("### Fehler bei LogOut")
ClassLogger.Add("### Fehler: " & ex.Message)
End Try
Try
' Position und Größe speichern
My.Settings.frmMainSize = Me.Size
@ -43,6 +34,18 @@ Public Class frmMain
Catch ex As Exception
ClassLogger.Add("Error in Save FormLayout: " & ex.Message)
End Try
If _windreamPM.oSession.aLoggedin = True Then
_windreamPM.Stop_WMCC_andCo()
End If
Try
ClassAllgemeineFunktionen.LoginOut("LOGOUT")
ClassLogger.Add("## ProcessManager beendet - " & Now, False)
ClassLogger.Add("", False)
Catch ex As Exception
ClassLogger.Add("### Fehler bei LogOut")
ClassLogger.Add("### Fehler: " & ex.Message)
End Try
End Sub
Private Sub frmProfiles_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
@ -128,6 +131,12 @@ Public Class frmMain
Check_Timer_Notification()
Restore_Form_Position()
_windreamPM = New ClassPMWindream
_windreamPM.Start_WMCC_andCo()
If _windreamPM.oSession.aLoggedin = False Then
MsgBox("Login on windream was not possible. Please check the log." & vbNewLine & "Application will close now!", MsgBoxStyle.Critical)
Me.Close()
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> MainForm initialized!", False)
End If
@ -908,7 +917,7 @@ Public Class frmMain
Private Function Init_windream()
Try
_windream = New ClassWindream_allgemein
_windream.Init()
_windream.Create_Session()
If LogErrorsOnly = False Then ClassLogger.Add(" >> windream initialized", False)
Return True
Catch ex As Exception

View File

@ -29,7 +29,7 @@ Public Class frmMassValidator
FORM_Shown = False
Try
_windream = New ClassWindream_allgemein
_windream.Init()
_windream.Create_Session()
If LogErrorsOnly = False Then ClassLogger.Add("windream initialized frmMassValidator", False)
Catch ex As Exception

View File

@ -56,7 +56,7 @@ Public Class frmSQL_DESIGNER
' Windream instanziieren
_windreamPM = New ClassPMWindream()
'Windream initialisieren (Connection, Session, ... aufbauen)
_windreamPM.Init()
_windreamPM.Create_Session()
Catch ex As Exception
MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try

View File

@ -93,12 +93,12 @@ Public NotInheritable Class frmSplash
Init.InitBasics()
Init.InitUserLogin()
System.Threading.Thread.Sleep(600)
'System.Threading.Thread.Sleep(600)
bw.ReportProgress(CalcProgress(5), "Initialize windream-Settings")
Init.InitWindream()
'bw.ReportProgress(CalcProgress(5), "Initialize windream-Settings")
'Init.InitWindream()
System.Threading.Thread.Sleep(250)
'System.Threading.Thread.Sleep(250)
End If

View File

@ -265,7 +265,7 @@ Public Class frmValidator
Private Function Init_windream()
Try
_windream = New ClassWindream_allgemein
_windream.Init()
_windream.Create_Session()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Windream initiiert", False)
Return True
Catch ex As Exception
@ -1343,11 +1343,11 @@ Public Class frmValidator
aktivesDokument = _windream.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, Document_Path.Substring(2))
Catch ex1 As Exception
ClassLogger.Add("Fehler bei 2. Versuch windream-Objekt: " & ex1.Message)
errmessage = "Es besteht ein Problem beim Anmelden an windream - Bitte wenden Sie sich an Digital Data!"
errmessage = "1-Es besteht ein Problem beim Anmelden an windream - Bitte wenden Sie sich an Digital Data!"
_err1 = True
End Try
Else
errmessage = "Es besteht ein Problem beim Anmelden an windream - Bitte wenden Sie sich an Digital Data!"
errmessage = "2-Es besteht ein Problem beim Anmelden an windream - Bitte wenden Sie sich an Digital Data!"
_err1 = True
End If
If _err1 = True Then