use Logging Module EVERYWHERE, fix some MarvMan bugs

This commit is contained in:
Jonathan Jenne
2020-03-04 12:24:43 +01:00
parent 13b36db5fb
commit c8c650922b
22 changed files with 1279 additions and 1178 deletions

View File

@@ -196,12 +196,13 @@ Public Class ClassWindream
Try
' Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen
oSession = CreateObject("Windream.WMSession", GetCurrentServer)
If LogErrorsOnly = False Then ClassLogger.Add(" ...windream-Server: '" & GetCurrentServer() & "'", False)
LOGGER.Info(" ...windream-Server: '" & GetCurrentServer() & "'")
' Connection-Objekt instanziieren
oConnect = CreateObject("Windream.WMConnect")
'MsgBox("windrem init 'ed")
Catch ex As Exception
ClassLogger.Add("Windream konnte nicht initiiert werden: " & ex.Message, True)
LOGGER.Info("Windream konnte nicht initiiert werden: " & ex.Message)
LOGGER.Error(ex.Message)
Return False
End Try
@@ -230,7 +231,7 @@ Public Class ClassWindream
End If
'If My.Settings.vDetailLog Then
' ClassLogger.Add(" >> windream-Version: '" & oSession.GetSystemInfo("WindreamVersion") & "'", False)
' LOGGER.Info(" >> windream-Version: '" & oSession.GetSystemInfo("WindreamVersion") & "'")
'End If
' AUSGABE VON SYSTEMINFORMATIONEN
@@ -264,7 +265,7 @@ Public Class ClassWindream
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, "Unexpected error inm Login an windream")
@@ -563,17 +564,17 @@ Public Class ClassWindream
Dim Zielverzeichnis As String = Path.GetDirectoryName(newfilename)
If My.Computer.FileSystem.DirectoryExists(Zielverzeichnis) = False Then
My.Computer.FileSystem.CreateDirectory(Zielverzeichnis)
ClassLogger.Add(" - Zielverzeichnis neu erzeugt!", False)
LOGGER.Info(" - Zielverzeichnis neu erzeugt!")
End If
Const STREAM_BinaryObject = "BinaryObject"
If LogErrorsOnly = False Then ClassLogger.Add(" ...Stream_File wurde gestartet", False)
LOGGER.Info(" ...Stream_File wurde gestartet")
Dim windreamFilename As String = ""
' Objekt für Datei und Zielverzeichnis anlegen
Dim Quelldatei_Name As String = Path.GetFileName(filenameQuelle)
If LogErrorsOnly = False Then ClassLogger.Add(" ...Quelldatei gelesen", False)
LOGGER.Info(" ...Quelldatei gelesen")
'"Version-KZ entfernen
newfilename = newfilename.Replace("\\", "\")
windreamFilename = newfilename.Substring(2)
@@ -583,7 +584,7 @@ Public Class ClassWindream
End If
If My.Computer.FileSystem.DirectoryExists(Zielverzeichnis) Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...targetPath existiert", False)
LOGGER.Info(" ...targetPath existiert")
' Überprüfen ob der zu Kopieren notwendige Speicherplatz auf Ziellaufwerk vorhanden ist
Dim dvr As New DriveInfo(vWLaufwerk & ":")
Dim freeSpace = dvr.TotalFreeSpace
@@ -601,7 +602,7 @@ Public Class ClassWindream
Return -10
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...Datei kopieren von '" & filenameQuelle & "' nach '" & newfilename & "'.", False)
LOGGER.Info(" ...Datei kopieren von '" & filenameQuelle & "' nach '" & newfilename & "'.")
Dim Connect
Dim Session
Dim WMObject
@@ -609,15 +610,15 @@ Public Class ClassWindream
Dim aWMStream
Dim wmbrwsr
Dim dmsServer As String
If LogErrorsOnly = False Then ClassLogger.Add(" ...Connect definieren: CreateObject('Windream.WMConnect')", False)
LOGGER.Info(" ...Connect definieren: CreateObject('Windream.WMConnect')")
Connect = CreateObject("Windream.WMConnect")
aFileIO = New WMOTOOLLib.WMFileIO
'If My.Settings.DLL_WMOTOOL = "" Then
' aFileIO = New WMOTOOLLib.WMFileIO
' If LogErrorsOnly = False Then ClassLogger.Add(" ...Direkter Verweis auf New WMOTOOLLib.WMFileIO", False)
' LOGGER.Info(" ...Direkter Verweis auf New WMOTOOLLib.WMFileIO")
'Else
' aFileIO = CreateObject(My.Settings.DLL_WMOTOOL) 'WMOTool.WMFileIO oder WMOTOOLLib.WMFileIO
' If LogErrorsOnly = False Then ClassLogger.Add(" ...Verwendeter Verweis aus Anwendungsstring: '" & My.Settings.DLL_WMOTOOL & "'", False)
' LOGGER.Info(" ...Verwendeter Verweis aus Anwendungsstring: '" & My.Settings.DLL_WMOTOOL & "'")
'End If
wmbrwsr = CreateObject("WMOBrws.ServerBrowser")
@@ -635,10 +636,10 @@ Public Class ClassWindream
Connect.LoginSession(Session)
Dim LoggedIn = Session.aLoggedin
If LoggedIn Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Login ok. You are logged in as '" & Connect.UserName & "' on Server '" & dmsServer, False)
LOGGER.Info(" ...Login ok. You are logged in as '" & Connect.UserName & "' on Server '" & dmsServer)
'MsgBox("Login ok. You are logged in as '" + Connect.UserName + "' on Server '" + dmsServer + "'")
Else
ClassLogger.Add(" >> Login on dms-Server failed", False)
LOGGER.Info(" >> Login on dms-Server failed")
' MsgBox("Login failed. ")
End If
oSession = Session
@@ -649,26 +650,26 @@ Public Class ClassWindream
'==================================================================
' check if files exist
'==================================================================
If LogErrorsOnly = False Then ClassLogger.Add(" ...ÜBERPRÜFTER DATEINAME => " & windreamFilename, False)
LOGGER.Info(" ...ÜBERPRÜFTER DATEINAME => " & windreamFilename)
Dim wdFilexists As Boolean
If LogErrorsOnly = False Then ClassLogger.Add(" ...Versuch auf die Datei in W: zuzugreifen und zu sperren...", False)
LOGGER.Info(" ...Versuch auf die Datei in W: zuzugreifen und zu sperren...")
wdFilexists = Session.WMObjectExists(WMEntityDocument, windreamFilename, 0, 0)
Err.Clear()
If wdFilexists = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Datei ist NICHT vorhanden, kann also einfach neu angelegt werden", False)
LOGGER.Info(" ...Datei ist NICHT vorhanden, kann also einfach neu angelegt werden")
'==================================================================
' create an object
'==================================================================
WMObject = Session.GetNewWMObjectFS(WMEntityDocument, windreamFilename, WMObjectEditModeObject) 'WMEntityDocument, windreamFilename, WMObjectEditModeObject
If Err.Number > 0 Then
ClassLogger.Add(" FEHLER: WMObject konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
LOGGER.Info(" FEHLER: WMObject konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
'MsgBox(Err.Description)
End If
' MsgBox("Created file: " + windreamFilename)
Else
' wenn auf die Datei zugeriffen werden konnte ist sie bereits vorhanden -> Datum anhängen
If LogErrorsOnly = False Then ClassLogger.Add(" ...Es konnte zugegriffen werden -> DATEI IST BEREITS VORHANDEN", False)
LOGGER.Info(" ...Es konnte zugegriffen werden -> DATEI IST BEREITS VORHANDEN")
If CURRENT_DOKART_DUPLICATE_HANDLING = "Default" Or CURRENT_DOKART_DUPLICATE_HANDLING = "Question" Then
''##########
Dim msg = String.Format("Eine Datei mit identischem Namen " & vbNewLine & "'{0}'" & vbNewLine & "existiert bereits!" & vbNewLine & "Wollen Sie die bestehende Datei ersetzen?", newfilename)
@@ -689,12 +690,12 @@ Public Class ClassWindream
End If
WMObject = Session.GetNewWMObjectFS(1, windreamFilename, 31) 'WMEntityDocument, windreamFilename, WMObjectEditModeObject
If Err.Number > 0 Then
ClassLogger.Add(" FEHLER: Neues WMObject (Kopie) konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
LOGGER.Info(" FEHLER: Neues WMObject (Kopie) konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
'MsgBox(Err.Description)
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...WMObject zugewiesen", False)
LOGGER.Info(" ...WMObject zugewiesen")
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...ENDGÜLTIGER DATEINAME => " & windreamFilename, False)
LOGGER.Info(" ...ENDGÜLTIGER DATEINAME => " & windreamFilename)
If WMObject IsNot Nothing Then
newfilename = vWLaufwerk & ":" & windreamFilename
' lock object for file system access (to change the file itself)
@@ -702,8 +703,8 @@ Public Class ClassWindream
' set fileIO the local source file
aFileIO.bstrOriginalFileName = filenameQuelle
If Err.Number > 0 Then
ClassLogger.Add(" FEHLER: fileIO konnte nicht gesetzt werden - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
ClassLogger.Add(" HINWEIS: Überprüfen Sie den Verweis auf die Bibliotheken 'WMOTool.WMFileIO' UND 'WMOTOOLLib.WMFileIO' und ändern diese in den Anwendungseinstellungen (DLL_WMOTOOL)'", False)
LOGGER.Info(" FEHLER: fileIO konnte nicht gesetzt werden - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
LOGGER.Info(" HINWEIS: Überprüfen Sie den Verweis auf die Bibliotheken 'WMOTool.WMFileIO' UND 'WMOTOOLLib.WMFileIO' und ändern diese in den Anwendungseinstellungen (DLL_WMOTOOL)'")
WMObject.Unlock()
Delete_WDFile(windreamFilename)
@@ -713,17 +714,17 @@ Public Class ClassWindream
' open the windream object's file stream for writing
aWMStream = WMObject.OpenStream(STREAM_BinaryObject, WMObjectStreamOpenModeReadWrite)
If Err.Number > 0 Then
ClassLogger.Add(" Unexpected error in OpenStream - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
LOGGER.Info(" Unexpected error in OpenStream - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
WMObject.Unlock()
Delete_WDFile(windreamFilename)
Return False
'MsgBox(Err.Description)
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...oWMStream erzeugt", False)
LOGGER.Info(" ...oWMStream erzeugt")
' give fileIO helper object the windream stream
aFileIO.aWMStream = aWMStream
If Err.Number > 0 Then
ClassLogger.Add(" Unexpected error in Zuweisen aWMStream zu aFileIO - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
LOGGER.Info(" Unexpected error in Zuweisen aWMStream zu aFileIO - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
WMObject.Unlock()
Delete_WDFile(windreamFilename)
Return False
@@ -732,17 +733,17 @@ Public Class ClassWindream
' let fileIO object import the original file into windream
aFileIO.ImportOriginal(True)
If Err.Number > 0 Then
ClassLogger.Add(" Unexpected error in FileIO.ImportOriginal(True) - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
LOGGER.Info(" Unexpected error in FileIO.ImportOriginal(True) - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
WMObject.Unlock()
Delete_WDFile(windreamFilename)
Return False
' MsgBox(Err.Description)
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...Inhalt der Datei konnte übertragen werden", False)
LOGGER.Info(" ...Inhalt der Datei konnte übertragen werden")
' close the windream file stream
aWMStream.Close()
If Err.Number > 0 Then
ClassLogger.Add(" Unexpected error in aWMStream.Close() - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
LOGGER.Info(" Unexpected error in aWMStream.Close() - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
WMObject.Unlock()
Delete_WDFile(windreamFilename)
Return False
@@ -751,17 +752,17 @@ Public Class ClassWindream
' save new windream object
WMObject.save()
If Err.Number > 0 Then
ClassLogger.Add(" Unexpected error in WMObject.save - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
LOGGER.Info(" Unexpected error in WMObject.save - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
WMObject.Unlock()
Delete_WDFile(windreamFilename)
Return False
'MsgBox(Err.Description)
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...Datei konnte gespeichert werden", False)
LOGGER.Info(" ...Datei konnte gespeichert werden")
' unlock the windream object
WMObject.unlock()
If Err.Number > 0 Then
ClassLogger.Add(" Unexpected error in WMObject.unlock - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
LOGGER.Info(" Unexpected error in WMObject.unlock - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
WMObject.Unlock()
Delete_WDFile(windreamFilename)
Return False
@@ -770,7 +771,7 @@ Public Class ClassWindream
'DATEI GRÖSSE ERMITTELN - MANCHMAL KOMMT ES VOR DAS DATEIGRÖße 0 ist
Dim info2 As New FileInfo(newfilename)
Dim length1 As Long = info2.Length
If LogErrorsOnly = False Then ClassLogger.Add(" ...Length der Zieldatei: " & length1.ToString, False)
LOGGER.Info(" ...Length der Zieldatei: " & length1.ToString)
If length > 0 And Err.Number = 0 Then
Dim p As String
If windreamFilename.StartsWith("\") Then
@@ -783,26 +784,26 @@ Public Class ClassWindream
p = "\" & windreamFilename
End If
CURRENT_NEWFILENAME = vWLaufwerk & ":" & p
ClassLogger.Add(" >> Datei '" & CURRENT_NEWFILENAME & "' wurde erfolgreich importiert!", False)
LOGGER.Info(" >> Datei '" & CURRENT_NEWFILENAME & "' wurde erfolgreich importiert!")
aktWMObject = WMObject
Return True
Else
Delete_WDFile(windreamFilename)
Console.WriteLine(Err.Number.ToString)
ClassLogger.Add(" Unexpected error in Datei-Übertragen - FileLength ist 0, Übertragene Datei wurde gelöscht")
LOGGER.Info(" Unexpected error in Datei-Übertragen - FileLength ist 0, Übertragene Datei wurde gelöscht")
Return False
End If
Else
ClassLogger.Add(" Could not create a WMObject for file:'" & windreamFilename)
LOGGER.Info(" Could not create a WMObject for file:'" & windreamFilename)
If Not Err() Is Nothing Then
If Not Err.Description Is Nothing Then
ClassLogger.Add(Err.Description)
LOGGER.Info(Err.Description)
End If
End If
Return False
End If
Else
If LogErrorsOnly = False Then ClassLogger.Add("...targetPath existiert NICHT", False)
LOGGER.Info("...targetPath existiert NICHT")
Return False
End If
@@ -816,16 +817,17 @@ Public Class ClassWindream
Try
WMObject = oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, WD_File) 'WINDREAMLib.WMEntity.WMEntityDocument
Catch ex As Exception
ClassLogger.Add(">> Could not create WMObject for file '" & WD_File & "' - so it is not existing", False)
LOGGER.Info(">> Could not create WMObject for file '" & WD_File & "' - so it is not existing")
LOGGER.Error(ex.Message)
Return False
End Try
If LogErrorsOnly = False Then ClassLogger.Add(" >> Deleting started - Object created", False)
LOGGER.Info(" >> Deleting started - Object created")
WMObject.Delete()
Return True
Catch ex As Exception
MsgBox("Unexpected Error in Delete_WDFile: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Unexpected Error in Delete_WDFile: " & ex.Message, False)
LOGGER.Info("Unexpected Error in Delete_WDFile: " & ex.Message)
Return False
End Try
End Function
@@ -839,43 +841,43 @@ Public Class ClassWindream
Public Shared Function DateiIndexieren(ByVal WD_File As String, ByVal _Indexname As String, ByVal _Value As String)
Try
If LogErrorsOnly = False Then ClassLogger.Add(" ...DateiIndexieren wurde aufgerufen", False)
LOGGER.Info(" ...DateiIndexieren wurde aufgerufen")
WD_File = WD_File.Substring(2)
Dim WMObject As WINDREAMLib.WMObject '= CreateObject("WINDREAMLib.WMObject") 'New WINDREAMLib.WMObject
'MsgBox("DateiIndexieren:" & vbNewLine & ClassDateiimportWindream.GetWindreamDriveLetter & filenameZiel & vbNewLine & Me.selectedProfile.DokumenttypString)
' den Dokumenttyp schreiben
If LogErrorsOnly = False Then ClassLogger.Add(" ## Indexieren wird gestartet ##", False)
LOGGER.Info(" ## Indexieren wird gestartet ##")
' ein windream-Objekt der Datei anlegen
WMObject = aktWMObject 'oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, WD_File)
Try
If LogErrorsOnly = False Then ClassLogger.Add(" ...Datei wird gesperrt", False)
LOGGER.Info(" ...Datei wird gesperrt")
' die Datei sperren
WMObject.lock()
Catch ex As Exception
If LogErrorsOnly = False Then ClassLogger.Add(" ...Datei ist bereits gesperrt", False)
LOGGER.Info(" ...Datei ist bereits gesperrt")
' nichts tun (Datei ist bereits gesperrt)
End Try
If IsNothing(WMObject) Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Windream Object ist nothing, Indexierung wird abgebrochen", False)
LOGGER.Info(" ...Windream Object ist nothing, Indexierung wird abgebrochen")
Return False
End If
If IsNothing(WMObject.aObjectType) Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Kein Objekttyp gesetzt, Indexierung wird abgebrochen", False)
LOGGER.Info(" ...Kein Objekttyp gesetzt, Indexierung wird abgebrochen")
Return False
End If
If LogErrorsOnly = False Then ClassLogger.Add($" ...Objekttyp wird gesetzt: " & _WDObjekttyp, False)
LOGGER.Info($" ...Objekttyp wird gesetzt: " & _WDObjekttyp)
' wenn der Datei noch kein Dokumenttyp zugewiesen wurde
If WMObject.aObjectType.aName = "Standard" Then
' ihr den entsprechenden Dokumenttyp zuweisen
WMObject.aObjectType = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityObjectType, _WDObjekttyp)
' WMObject.aObjectType = Me.selectedProfile.Dokumenttyp
If LogErrorsOnly = False Then ClassLogger.Add(" ...Objekttyp wurde gesetzt", False)
LOGGER.Info(" ...Objekttyp wurde gesetzt")
Else
If LogErrorsOnly = False Then ClassLogger.Add(" ...Objekttyp war bereits gesetzt", False)
LOGGER.Info(" ...Objekttyp war bereits gesetzt")
End If
Try
@@ -891,42 +893,42 @@ Public Class ClassWindream
Catch ex As Exception
' wenn das entsperren nicht geklappt hat, dann war die Datei auch nicht gesperrt
End Try
If LogErrorsOnly = False Then ClassLogger.Add(" ...Datei wurde gespeichert / Unlock wurde durchgeführt", False)
LOGGER.Info(" ...Datei wurde gespeichert / Unlock wurde durchgeführt")
' wenn bis hierher alles geklappt hat wurde ein Dokumenttyp übergeben
If LogErrorsOnly = False Then ClassLogger.Add(" ...Objekttyp: " & _WDObjekttyp, False)
LOGGER.Info(" ...Objekttyp: " & _WDObjekttyp)
' wenn keine Werte vorhanden sind, soll wenigstens der Dokumenttyp eingetragen werden
Dim indexe As String = ""
If LogErrorsOnly = False Then ClassLogger.Add(" ...Indexname: '" & _Indexname & "'", False)
LOGGER.Info(" ...Indexname: '" & _Indexname & "'")
Dim werte = New ArrayList
If (GetTypeOfIndexAsIntByName(_Indexname) = WMObjectVariableValueTypeVector) Or GetTypeOfIndexAsIntByName(_Indexname) = 4097 Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Es handelt sich um ein Vektor-Feld", False)
LOGGER.Info(" ...Es handelt sich um ein Vektor-Feld")
'Am 04.08.2014 aktualisiert: um zu verhindern das die vorangegangene Versionierung "Tilde-Werte" schreibt
If LogErrorsOnly = False Then ClassLogger.Add(" ...Wert vor Überprüfung: " & _Value, False)
LOGGER.Info(" ...Wert vor Überprüfung: " & _Value)
_Value = CheckIndexValue(_Value)
'Ausstieg da Fehler in der Überprüfung
If _Value Is Nothing Then
Return False
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...Value für Indexierung: " & _Value, False)
LOGGER.Info(" ...Value für Indexierung: " & _Value)
werte.Add(_Value)
If LogErrorsOnly = False Then ClassLogger.Add(" ...Werte zu Array hinzugefügt!", False)
LOGGER.Info(" ...Werte zu Array hinzugefügt!")
Else
'Am 04.08.2014 aktualisiert: um zu verhindern das die vorangegangene Versionierung "Tilde-Werte" schreibt
If LogErrorsOnly = False Then ClassLogger.Add(" ...Value vor Überprüfung: " & _Value, False)
LOGGER.Info(" ...Value vor Überprüfung: " & _Value)
_Value = CheckIndexValue(_Value)
'Ausstieg da Fehler in der Überprüfung
If _Value Is Nothing Then
Return False
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...Value für Indexierung: " & _Value, False)
LOGGER.Info(" ...Value für Indexierung: " & _Value)
werte.Add(_Value)
End If
@@ -940,8 +942,9 @@ Public Class ClassWindream
Return RunIndexing(WMObject, arrIndex, arrValue)
Catch ex As Exception
ClassLogger.Add("Hinweis: Die Datei " & WD_File & " konnte nicht indexiert werden.")
ClassLogger.Add("Fehler: " & ex.Message)
LOGGER.Info("Hinweis: Die Datei " & WD_File & " konnte nicht indexiert werden.")
LOGGER.Error(ex.Message)
LOGGER.Info("Fehler: " & ex.Message)
' Me.TreeNodeInfos.Add(temp)
Return False
End Try
@@ -955,16 +958,16 @@ Public Class ClassWindream
Dim i As Integer = 0
Dim indexname As String
If aValues.Length = 1 And aValues(0) = "" Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Indexwert ist leer/Nothing - Keine Nachindexierung", False)
LOGGER.Info(" ...Indexwert ist leer/Nothing - Keine Nachindexierung")
End If
' wenn der Datei noch kein Dokumenttyp zugewiesen wurde
If oDocument.aObjectType.aName <> _WDObjekttyp Then
' ihr den entsprechenden Dokumenttyp zuweisen
oDocument.aObjectType = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityObjectType, _WDObjekttyp)
' WMObject.aObjectType = Me.selectedProfile.Dokumenttyp
If LogErrorsOnly = False Then ClassLogger.Add(" ...Objekttyp '" & oDocument.aObjectType.aName & "' wurde in '" & _WDObjekttyp & "' geändert.", False)
LOGGER.Info(" ...Objekttyp '" & oDocument.aObjectType.aName & "' wurde in '" & _WDObjekttyp & "' geändert.")
Else
If LogErrorsOnly = False Then ClassLogger.Add(" ...Objekttyp war bereits gesetzt", False)
LOGGER.Info(" ...Objekttyp war bereits gesetzt")
End If
Try
@@ -979,8 +982,8 @@ Public Class ClassWindream
For Each aName As String In Indizes
indexname = aName
If LogErrorsOnly = False Then
ClassLogger.Add(" ", False)
ClassLogger.Add(" >> Indexierung von Index '" & indexname & "'", False)
LOGGER.Info(" ")
LOGGER.Info(" >> Indexierung von Index '" & indexname & "'")
End If
' das entsprechende Attribut aus windream auslesen
Dim oAttribute = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i))
@@ -1006,45 +1009,45 @@ Public Class ClassWindream
Select Case (vType)
'Case WMObjectVariableValueTypeUndefined
Case WMObjectVariableValueTypeString
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeString", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeString")
convertValue = CStr(value)
Case WMObjectVariableValueTypeInteger
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeInteger", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
value = value.ToString.Replace(" ", "")
If IsNumeric(value) = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Achtung: Value '" & value & "' kann nicht in Zahl konvertiert werden!", False)
LOGGER.Info(" ...Achtung: Value '" & value & "' kann nicht in Zahl konvertiert werden!")
End If
value = value.ToString.Replace(" ", "")
convertValue = CInt(value)
_int = True
Case WMObjectVariableValueTypeFloat
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
value = value.ToString.Replace(" ", "")
convertValue = CDbl(value)
Case WMObjectVariableValueTypeFixedPoint
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
value = value.ToString.Replace(" ", "")
convertValue = CDbl(value)
_dbl = True
Case WMObjectVariableValueTypeBoolean
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeBoolean", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
convertValue = CBool(value)
_bool = True
Case WMObjectVariableValueTypeDate
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeDate", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeDate")
_date = True
'Dim _date As Date = value
convertValue = value
Case WMObjectVariableValueTypeTimeStamp
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
convertValue = value
Case WMObjectVariableValueTypeCurrency
If LogErrorsOnly = False Then ClassLogger.Add(" - Typ des windream-Indexes: WMObjectVariableValueTypeCurrency", False)
LOGGER.Info(" - Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
convertValue = aValueWrapper
Case WMObjectVariableValueTypeTime
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeTime", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeTime")
'If ((value)) Then
' convertValue = CDate(value)
'Else
@@ -1053,57 +1056,57 @@ Public Class ClassWindream
'Dim _date As Date = value
convertValue = convertValue '*_date.ToShortTimeString
Case WMObjectVariableValueTypeFloat
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
convertValue = CStr(value)
Case WMObjectVariableValueTypeVariant
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeVariant", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeVariant")
convertValue = CStr(value)
Case WMObjectVariableValueTypeFulltext
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFulltext", False)
LOGGER.Info(" ...Typ des windream-Indexes: WMObjectVariableValueTypeFulltext")
convertValue = CStr(value)
Case 4097
vektor = True
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: 4097 Vektor alphanumerisch", False)
LOGGER.Info(" ...Typ des windream-Indexes: 4097 Vektor alphanumerisch")
'Vektor alphanumerisch
convertValue = CStr(value)
Case 4098
vektor = True
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: 4098 Vektor Numerisch", False)
LOGGER.Info(" ...Typ des windream-Indexes: 4098 Vektor Numerisch")
'Vektor Numerisch
convertValue = CStr(value)
Case 4099
vektor = True
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: 4099 Vektor Kommazahl", False)
LOGGER.Info(" ...Typ des windream-Indexes: 4099 Vektor Kommazahl")
'Vektor Kommazahl
convertValue = CStr(value)
Case 4101
vektor = True
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: 4101 Vektor Date", False)
LOGGER.Info(" ...Typ des windream-Indexes: 4101 Vektor Date")
'Vektor Kommazahl
convertValue = CStr(value)
Case 4103
vektor = True
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: 4103 Vektor DateTime", False)
LOGGER.Info(" ...Typ des windream-Indexes: 4103 Vektor DateTime")
'Vektor DateTime
convertValue = CStr(value)
Case 4107
vektor = True
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: 4107 Integer 64bit", False)
LOGGER.Info(" ...Typ des windream-Indexes: 4107 Integer 64bit")
convertValue = CStr(value)
Case 36865
vektor = True
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes: 36865 Vektor alphanumerisch", False)
LOGGER.Info(" ...Typ des windream-Indexes: 36865 Vektor alphanumerisch")
'Vektor Kommazahl
convertValue = CStr(value)
Case Else
If LogErrorsOnly = False Then ClassLogger.Add(" ...Typ des windream-Indexes konnte nicht bestimmt werden!", False)
If LogErrorsOnly = False Then ClassLogger.Add(" ...Versuch des Auslesens (vType): " & vType)
LOGGER.Info(" ...Typ des windream-Indexes konnte nicht bestimmt werden!")
LOGGER.Info(" ...Versuch des Auslesens (vType): " & vType)
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
convertValue = ""
End Select
If vektor = False Then
If convertValue.ToString Is Nothing = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Konvertierter Wert: '" & convertValue.ToString & "'", False)
LOGGER.Info(" ...Konvertierter Wert: '" & convertValue.ToString & "'")
End If
End If
'############################################################################################
@@ -1111,7 +1114,7 @@ Public Class ClassWindream
'############################################################################################
If vektor = False Then
If convertValue.ToString Is Nothing = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Versuch dem Dok einen Index zuzuweisen: oDocument.SetVariableValue(" & aName & ", " & convertValue & ")", False)
LOGGER.Info(" ...Versuch dem Dok einen Index zuzuweisen: oDocument.SetVariableValue(" & aName & ", " & convertValue & ")")
If _int = True Then
convertValue = convertValue.ToString.Replace(" ", "")
oDocument.SetVariableValue(aName, CInt(convertValue))
@@ -1129,15 +1132,15 @@ Public Class ClassWindream
oDocument.Save()
If LogErrorsOnly = False Then
ClassLogger.Add(" ...Index '" & aName & "' wurde geschrieben", False)
ClassLogger.Add("", False)
LOGGER.Info(" ...Index '" & aName & "' wurde geschrieben")
LOGGER.Info("")
End If
Else
ClassLogger.Add(" >> Kein Indexwert vorhanden", False)
LOGGER.Info(" >> Kein Indexwert vorhanden")
End If
Else
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
If LogErrorsOnly = False Then ClassLogger.Add(" >> VEKTORFELD: Vorbereiten des Arrays", False)
LOGGER.Info(" >> VEKTORFELD: Vorbereiten des Arrays")
Dim myArray()
@@ -1149,7 +1152,7 @@ Public Class ClassWindream
Dim Anzahl As Integer = aValues.Length
'Vektorfeld wird mit EINEM Wert gefüllt
If Anzahl = 1 Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Vektorfeld wird mit EINEM Wert gefüllt ", False)
LOGGER.Info(" >> Vektorfeld wird mit EINEM Wert gefüllt ")
ReDim myArray(0)
Select Case vType
Case 36865
@@ -1181,12 +1184,12 @@ Public Class ClassWindream
End Select
'Jetzt überprüfen ob Werte in Vektorfeld angefügt oder überschrieben werden sollen
If LogErrorsOnly = False Then ClassLogger.Add(" >> Konvertierter Wert: " & myArray(0).ToString, False)
LOGGER.Info(" >> Konvertierter Wert: " & myArray(0).ToString)
Dim VektorArray()
'Immer anfügen
If LogErrorsOnly = False Then ClassLogger.Add(" >> Check Existing Vektorvalues", False)
LOGGER.Info(" >> Check Existing Vektorvalues")
Dim indicies As New List(Of Object)
@@ -1212,14 +1215,14 @@ Public Class ClassWindream
'Jetzt die Nachindexierung für Vektor-Felder
oDocument.SetVariableValue(aName, myArray)
'myArray)
If LogErrorsOnly = False Then ClassLogger.Add(" >> 'SetVariableValue' für VEKTOR mit einem Wert erfolgreich", False)
LOGGER.Info(" >> 'SetVariableValue' für VEKTOR mit einem Wert erfolgreich")
'Die Änderungen festsschreiben/speichern
oDocument.Save()
End If
Else
If LogErrorsOnly = False Then ClassLogger.Add(" >> Vektorfeld wird mit MEHREREN Werten gefüllt ", False)
LOGGER.Info(" >> Vektorfeld wird mit MEHREREN Werten gefüllt ")
' das ausgewählte Profil in _selectedProfile laden
@@ -1229,10 +1232,10 @@ Public Class ClassWindream
'Die Datatable durchlaufen und Werte für den Index in Array schreiben
For Each obj In myArray
myArray(i1) = CStr(obj)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Wert (" & i1 & ") aus Datatable: '" & myArray(i1).ToString & "'", False)
LOGGER.Info(" >> Wert (" & i1 & ") aus Datatable: '" & myArray(i1).ToString & "'")
i1 = i1 + 1
Next
If LogErrorsOnly = False Then ClassLogger.Add(" >> Array wurde erfolgreich erzeugt", False)
LOGGER.Info(" >> Array wurde erfolgreich erzeugt")
Dim VektorArray()
@@ -1269,28 +1272,29 @@ Public Class ClassWindream
'Die Größe des Arrays festlegen
myArray(i1) = CStr(myArray(0))
End Select
If LogErrorsOnly = False Then ClassLogger.Add(" >> Konvertierter Wert (" & i1 & ") : '" & myArray(i1).ToString & "'", False)
LOGGER.Info(" >> Konvertierter Wert (" & i1 & ") : '" & myArray(i1).ToString & "'")
i1 += 1
Next
'Jetzt die Nachindexierung für Vektor-Felder
Try
oDocument.SetVariableValue(aName, myArray)
Catch ex As Exception
ClassLogger.Add("RunIndexing -Unexpected error in indexing Vectorfield: " & ex.Message, True)
LOGGER.Info("RunIndexing -Unexpected error in indexing Vectorfield: " & ex.Message)
LOGGER.Error(ex.Message)
oDocument.Save()
oDocument.unlock()
Return False
End Try
If LogErrorsOnly = False Then ClassLogger.Add(" >> 'SetVariableValue' für VEKTOR erfolgreich", False)
LOGGER.Info(" >> 'SetVariableValue' für VEKTOR erfolgreich")
' oDocument.LockRights()
'Die Änderungen festsschreiben/speichern
oDocument.Save()
If LogErrorsOnly = False Then ClassLogger.Add(">> Indexierung erfolgreich beendet (Save ...", False)
LOGGER.Info(">> Indexierung erfolgreich beendet (Save ...")
Else
ClassLogger.Add(" - Achtung: VektorArray Is NOTHING", False)
LOGGER.Info(" - Achtung: VektorArray Is NOTHING")
oDocument.Save()
Return True
End If
@@ -1303,18 +1307,19 @@ Public Class ClassWindream
Next
oDocument.unlock()
If LogErrorsOnly = False Then
ClassLogger.Add(">> ...und Unlock durchgeführt)", False)
ClassLogger.Add("", False)
LOGGER.Info(">> ...und Unlock durchgeführt)")
LOGGER.Info("")
End If
Return True
Else
ClassLogger.Add(" >> Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!", False)
LOGGER.Info(" >> Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!")
'oDocument.unlock()
Return False
End If
End If
Catch ex As Exception
ClassLogger.Add("ClassNiWindream.RunIndexing: " & ex.Message)
LOGGER.Info("ClassNiWindream.RunIndexing: " & ex.Message)
LOGGER.Error(ex.Message)
oDocument.Save()
oDocument.unlock()
Return False
@@ -1331,7 +1336,7 @@ Public Class ClassWindream
'Nochmals prüfen ob wirklich Array
If wertWD.GetType.ToString.Contains("System.Object") Then
'Keine Duplikatprüfung also einfach neues Array füllen
If LogErrorsOnly = False Then ClassLogger.Add(" >> Duplikatprüfung soll durchgeführt werden.", False)
LOGGER.Info(" >> Duplikatprüfung soll durchgeführt werden.")
'Duplikat Prüfung an, also nur anhängen wenn Wert <>
For Each WDValue As Object In wertWD
If WDValue Is Nothing = False Then
@@ -1352,14 +1357,14 @@ Public Class ClassWindream
ValueArray(Anzahl) = NewValue.ToString
Anzahl += 1
Else
ClassLogger.Add(" >> Value '" & NewValue.ToString & "' bereits in Vektorfeld enthalten", False)
LOGGER.Info(" >> Value '" & NewValue.ToString & "' bereits in Vektorfeld enthalten")
End If
End If
Next
End If
Else
If LogErrorsOnly = False Then ClassLogger.Add(" >> Vektorfeld ist noch leer....", False)
LOGGER.Info(" >> Vektorfeld ist noch leer....")
'Den/die Neuen Wert(e) anfügen
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
@@ -1372,7 +1377,7 @@ Public Class ClassWindream
ValueArray(Anzahl) = NewValue.ToString
Anzahl += 1
Else
ClassLogger.Add(" >> Value '" & NewValue.ToString & "' bereits in Array enthalten", False)
LOGGER.Info(" >> Value '" & NewValue.ToString & "' bereits in Array enthalten")
End If
Else 'Dererste Wert, also hinzufügen
'Das Array anpassen
@@ -1389,7 +1394,8 @@ Public Class ClassWindream
Return ValueArray
Catch ex As Exception
ClassLogger.Add("Unexpected Error in ClassWindream.Return_VektorArray: " & ex.Message, True)
LOGGER.Info("Unexpected Error in ClassWindream.Return_VektorArray: " & ex.Message)
LOGGER.Error(ex.Message)
End Try
@@ -1423,7 +1429,7 @@ Public Class ClassWindream
''' <returns>Liefert True wenn das Indexieren erfolgreich war, sonst False</returns>
''' <remarks></remarks>
Public Shared Function Indexiere(ByVal filenameZiel As String, ByVal index As String, ByVal werte As Object) As Boolean
If LogErrorsOnly = False Then ClassLogger.Add(" - In Indexierungsvorgang für: " & filenameZiel, False)
LOGGER.Info(" - In Indexierungsvorgang für: " & filenameZiel)
Try
Dim WMObject As WINDREAMLib.WMObject = Nothing '= CreateObject("WINDREAMLib.WMObject") '= New WINDREAMLib.WMObject 'CreateObject("WINDREAMLib.WMObject")
'MsgBox("Indexiere: " & vbNewLine & filenameZiel)
@@ -1434,7 +1440,7 @@ Public Class ClassWindream
index Is Nothing Or
index = "" Or
Not ExistIndexInObjekttyp(_WDObjekttyp, index) Then
If LogErrorsOnly = False Then ClassLogger.Add("=> Hinweis: Die Datei wurde auf Grund eines Problems in der Initialisierung nicht vollständig indexiert.", False)
LOGGER.Info("=> Hinweis: Die Datei wurde auf Grund eines Problems in der Initialisierung nicht vollständig indexiert.")
Return False
End If
@@ -1449,7 +1455,7 @@ Public Class ClassWindream
fileExists = False
Exit Do
Else
If LogErrorsOnly = False Then ClassLogger.Add(" Achtung: Datei exisitiert noch nicht: " & My.Computer.Clock.LocalTime, True)
LOGGER.Info(" Achtung: Datei exisitiert noch nicht: " & My.Computer.Clock.LocalTime)
End If
an = an + 1
Loop
@@ -1468,8 +1474,8 @@ Public Class ClassWindream
' ein windream-Objekt der Datei anlegen
WMObject = oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, filenameZiel)
If LogErrorsOnly = False Then
ClassLogger.Add(" - windream-Objekt der Datei erzeugt", False)
ClassLogger.Add(" - Ziel: W:\" & filenameZiel, False)
LOGGER.Info(" - windream-Objekt der Datei erzeugt")
LOGGER.Info(" - Ziel: W:\" & filenameZiel)
End If
'Me.singleInfoNode.Add("Ziel: " & ClassDateiimportWindream.GetWindreamDriveLetter & filenameZiel)
@@ -1509,9 +1515,9 @@ Public Class ClassWindream
' wenn es sich bei dem Index NICHT um ein Vektorfeld handelt
If TypDesIndexes < WMObjectVariableValueTypeVector Then
If LogErrorsOnly = False Then ClassLogger.Add(" - Bei dem Zielindex handelt es sich um einen Einzelindex.", False)
LOGGER.Info(" - Bei dem Zielindex handelt es sich um einen Einzelindex.")
Else
If LogErrorsOnly = False Then ClassLogger.Add(" Bei dem Zielindex handelt es sich um ein Vektorfeld.", False)
LOGGER.Info(" Bei dem Zielindex handelt es sich um ein Vektorfeld.")
' ein Backup der Indexwerte anlegen
Dim temp As Object = werte
' und die eigendliche Variable zurücksetzen
@@ -1519,17 +1525,18 @@ Public Class ClassWindream
' dann soll nur der letzte Wert des Arrays übernommen werden, damit nicht versucht wird ein
' Array in einen Einzelindex zu speichern
werte = temp
If LogErrorsOnly = False Then ClassLogger.Add(" - Array geleert und erneuert!", False)
LOGGER.Info(" - Array geleert und erneuert!")
End If
Catch ex As Exception
ClassLogger.Add("Hinweis: Beim Initialisieren der Datei auf dem windream-Laufwerk ist ein Fehler aufgetreten.", False)
LOGGER.Info("Hinweis: Beim Initialisieren der Datei auf dem windream-Laufwerk ist ein Fehler aufgetreten.")
LOGGER.Error(ex.Message)
Return False
End Try
'Try
' den Typ des Zielindexes
If LogErrorsOnly = False Then ClassLogger.Add(" - Typ des Indexes: " & TypDesIndexes.ToString, False)
LOGGER.Info(" - Typ des Indexes: " & TypDesIndexes.ToString)
Select Case (TypDesIndexes)
Case WMObjectVariableValueTypeUndefined ' zu klären !!!!
'convertValue = vbEmpty
@@ -1538,7 +1545,7 @@ Public Class ClassWindream
'If werte.ToString.StartsWith("0") Then
' Dim wert As String = CStr(CInt(werte.ToString))
' convertValue = wert
' ClassLogger.Add(" - Führende Nullen wurden entfernt", False)
' LOGGER.Info(" - Führende Nullen wurden entfernt")
'Else
' Dim wert As String = CStr(CInt(werte.ToString))
' convertValue = wert
@@ -1618,7 +1625,7 @@ Public Class ClassWindream
Case Else
' wenn es sich um einen TypVektorIndex handelt
If TypDesIndexes >= 4096 And TypDesIndexes < 8192 Then
If LogErrorsOnly = False Then ClassLogger.Add("- Es handelt sich um einen Vektorindex", False)
LOGGER.Info("- Es handelt sich um einen Vektorindex")
'Dim temp_arr As New ArrayList
Dim arrayIndex = 0
@@ -1633,7 +1640,7 @@ Public Class ClassWindream
Select Case (TypDesIndexes - WMObjectVariableValueTypeVector)
'VektorIndex vom Typ String 64'
Case 1
If LogErrorsOnly = False Then ClassLogger.Add("- VektorIndex vom Typ String 1", False)
LOGGER.Info("- VektorIndex vom Typ String 1")
For Each wert As Object In werte
'Führende Nullen Entfernen
@@ -1641,7 +1648,7 @@ Public Class ClassWindream
Dim werteString As String = CStr(CInt(wert.ToString))
wert = werteString
temp_arr(arrayIndex) = CStr(wert)
ClassLogger.Add("- Führende Nullen wurden entfernt", False)
LOGGER.Info("- Führende Nullen wurden entfernt")
Else
temp_arr(arrayIndex) = CStr(wert)
@@ -1649,30 +1656,30 @@ Public Class ClassWindream
arrayIndex = arrayIndex + 1
If LogErrorsOnly = False Then ClassLogger.Add("- Wert " & CStr(wert) & " konvertiert", False)
LOGGER.Info("- Wert " & CStr(wert) & " konvertiert")
Next
Case WMObjectVariableValueTypeUndefined
' convertValue = ""
Case WMObjectVariableValueTypeString
If LogErrorsOnly = False Then ClassLogger.Add("- VektorIndex vom Typ String 2", False)
LOGGER.Info("- VektorIndex vom Typ String 2")
For Each wert As Object In werte
'Führende Nullen Entfernen
If werte.ToString.StartsWith("0") Then
wert = CInt(wert)
temp_arr(arrayIndex) = CStr(wert)
ClassLogger.Add("- Führende Nullen wurden entfernt", False)
LOGGER.Info("- Führende Nullen wurden entfernt")
Else
temp_arr(arrayIndex) = CStr(wert)
End If
arrayIndex = arrayIndex + 1
If LogErrorsOnly = False Then ClassLogger.Add("- Wert " & CStr(wert) & " konvertiert", False)
LOGGER.Info("- Wert " & CStr(wert) & " konvertiert")
Next
Case WMObjectVariableValueTypeInteger
If LogErrorsOnly = False Then ClassLogger.Add("- VektorIndex vom Typ Integer", False)
LOGGER.Info("- VektorIndex vom Typ Integer")
For Each wert As Object In werte
temp_arr(arrayIndex) = CInt(wert)
arrayIndex = arrayIndex + 1
@@ -1735,7 +1742,7 @@ Public Class ClassWindream
werte = temp_arr
If LogErrorsOnly = False Then ClassLogger.Add("- Werte erfolgreich konvertiert", False)
LOGGER.Info("- Werte erfolgreich konvertiert")
Else
' convertValue = vbEmpty
End If
@@ -1744,7 +1751,7 @@ Public Class ClassWindream
'Catch ex As Exception
' ' einen Hinweis über einen aufgetretenen Fehler an das Array für den TreeView-Log anhängen
' ClassLogger.Add("Unexpected error in Auswerten/Konvertieren des Typs!", ex.Message)
' LOGGER.Info("Unexpected error in Auswerten/Konvertieren des Typs!", ex.Message)
' ' die Indexierungsinformationen für den TreeView-Log zurückgeben
' Return False
'End Try
@@ -1758,21 +1765,21 @@ Public Class ClassWindream
' den konvertierten Indexwert dem entsprechenden Index zuweisen
WMObject.SetVariableValue(index, werte)
If LogErrorsOnly = False Then
ClassLogger.Add(" - den konvertierten Indexwert dem entsprechenden Index zuweisen", False)
ClassLogger.Add(" - Indexname: " & index.ToString, False)
ClassLogger.Add(" - Indexwert: " & werte.ToString, False)
LOGGER.Info(" - den konvertierten Indexwert dem entsprechenden Index zuweisen")
LOGGER.Info(" - Indexname: " & index.ToString)
LOGGER.Info(" - Indexwert: " & werte.ToString)
End If
'End If
' die Indexinformationen des Dokuments speichern
WMObject.Save()
If LogErrorsOnly = False Then ClassLogger.Add(" - die Indexinformationen des Dokuments speichern", False)
LOGGER.Info(" - die Indexinformationen des Dokuments speichern")
' Unlock in einem unbehandelten Try-Block um Fehler abzufangen,
' wenn eine Datei nicht gesperrt ist
Try
' die Sperrung des Dokuments aufheben
WMObject.unlock()
If LogErrorsOnly = False Then ClassLogger.Add(" - die Sperrung des Dokuments aufheben", False)
LOGGER.Info(" - die Sperrung des Dokuments aufheben")
Catch ex As Exception
' nichts tun (Datei war nicht gesperrt)
@@ -1782,12 +1789,13 @@ Public Class ClassWindream
Return True
Else
' die Indexierungsinformationen für den TreeView-Log zurückgeben
ClassLogger.Add(" Hinweis: Die Datei hat zum Zeitpunkt der Indexierung noch nicht auf dem windream-Laufwerk existiert.", False)
LOGGER.Info(" Hinweis: Die Datei hat zum Zeitpunkt der Indexierung noch nicht auf dem windream-Laufwerk existiert.")
End If
Catch ex As Exception
ClassLogger.Add(" Hinweis: Unbekannter Unexpected error inm Indexieren der Datei.")
ClassLogger.Add(ex.Message)
LOGGER.Info(" Hinweis: Unbekannter Unexpected error inm Indexieren der Datei.")
LOGGER.Error(ex.Message)
LOGGER.Info(ex.Message)
End Try
Return True
@@ -1886,7 +1894,8 @@ Public Class ClassWindream
Return input
Catch ex As Exception
ClassLogger.Add("Fehler in CheckIndexValue: " & ex.Message)
LOGGER.Info("Fehler in CheckIndexValue: " & ex.Message)
LOGGER.Error(ex.message)
Return Nothing
End Try