MS_05042016
This commit is contained in:
@@ -197,7 +197,7 @@ 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> windream-Server: '" & GetCurrentServer() & "'", False)
|
||||
' Connection-Objekt instanziieren
|
||||
oConnect = CreateObject("Windream.WMConnect")
|
||||
'MsgBox("windrem init 'ed")
|
||||
@@ -541,25 +541,23 @@ Public Class ClassWindream
|
||||
aktWMObject = Nothing
|
||||
If My.Computer.FileSystem.DirectoryExists(zielpfad) = False Then
|
||||
My.Computer.FileSystem.CreateDirectory(zielpfad)
|
||||
ClassLogger.Add(" - Zielverzeichnis neu erzeugt!", False)
|
||||
ClassLogger.Add(">> Zielverzeichnis neu erzeugt!", False)
|
||||
End If
|
||||
|
||||
Const STREAM_BinaryObject = "BinaryObject"
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Stream_File wurde gestartet", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Stream_File wurde gestartet", False)
|
||||
Dim endgültigerDateiname 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Quelldatei gelesen", False)
|
||||
|
||||
'########
|
||||
Dim Zielverzeichnis As String = zielpfad
|
||||
endgültigerDateiname = CURRENT_NEWFILENAME.Substring(2)
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Zielverzeichnis erzeugt", False)
|
||||
If My.Computer.FileSystem.DirectoryExists(Zielverzeichnis) Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - targetPath exisitiert", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> targetPath exisitiert", False)
|
||||
' Überprüfen ob der zu Kopieren notwendige Speicherplatz auf Ziellaufwerk vorhanden ist
|
||||
Dim dvr As New DriveInfo(vWLaufwerk & ":")
|
||||
Dim freeSpace = dvr.TotalFreeSpace
|
||||
@@ -572,7 +570,7 @@ Public Class ClassWindream
|
||||
Return -10
|
||||
End If
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Datei kopieren von " & filenameQuelle & " nach " & endgültigerDateiname & ".", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Datei kopieren von " & filenameQuelle & " nach " & endgültigerDateiname & ".", False)
|
||||
Dim Connect
|
||||
Dim Session
|
||||
Dim WMObject
|
||||
@@ -580,15 +578,15 @@ Public Class ClassWindream
|
||||
Dim aWMStream
|
||||
Dim wmbrwsr
|
||||
Dim dmsServer As String
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Connect definieren: CreateObject('Windream.WMConnect')", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Connect definieren: CreateObject('Windream.WMConnect')", False)
|
||||
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)
|
||||
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Direkter Verweis auf New WMOTOOLLib.WMFileIO", False)
|
||||
'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)
|
||||
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Verwendeter Verweis aus Anwendungsstring: '" & My.Settings.DLL_WMOTOOL & "'", False)
|
||||
'End If
|
||||
|
||||
wmbrwsr = CreateObject("WMOBrws.ServerBrowser")
|
||||
@@ -606,10 +604,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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Login ok. You are logged in as '" & Connect.UserName & "' on Server '" & dmsServer, False)
|
||||
'MsgBox("Login ok. You are logged in as '" + Connect.UserName + "' on Server '" + dmsServer + "'")
|
||||
Else
|
||||
ClassLogger.Add(" - Login on dms-Server failed", False)
|
||||
ClassLogger.Add(">> Login on dms-Server failed", False)
|
||||
' MsgBox("Login failed. ")
|
||||
End If
|
||||
Const WMCOMEventWMSessionNeedIndex = 1
|
||||
@@ -619,13 +617,13 @@ Public Class ClassWindream
|
||||
'==================================================================
|
||||
' check if files exist
|
||||
'==================================================================
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - ÜBERPRÜFTER DATEINAME => " & endgültigerDateiname, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> ÜBERPRÜFTER DATEINAME => " & endgültigerDateiname, False)
|
||||
Dim wdFilexists As Boolean
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Versuch auf die Datei in W: zuzugreifen und zu sperren...", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch auf die Datei in W: zuzugreifen und zu sperren...", False)
|
||||
wdFilexists = Session.WMObjectExists(WMEntityDocument, endgültigerDateiname, 0, 0)
|
||||
|
||||
If wdFilexists = False Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Datei ist NICHT vorhanden, kann also einfach neu angelegt werden", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Datei ist NICHT vorhanden, kann also einfach neu angelegt werden", False)
|
||||
Err.Clear()
|
||||
'==================================================================
|
||||
' create an object
|
||||
@@ -638,17 +636,17 @@ Public Class ClassWindream
|
||||
' MsgBox("Created file: " + endgültigerDateiname)
|
||||
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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Es konnte zugegriffen werden -> DATEI IST BEREITS VORHANDEN", False)
|
||||
Err.Clear()
|
||||
|
||||
|
||||
WMObject = Session.GetNewWMObjectFS(WMEntityDocument, endgültigerDateiname, WMObjectEditModeObject)
|
||||
If Err.Number > 0 Then
|
||||
ClassLogger.Add(" 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> WMObject zugewiesen", False)
|
||||
End If
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - ENDGÜLTIGER DATEINAME => " & endgültigerDateiname, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> ENDGÜLTIGER DATEINAME => " & endgültigerDateiname, False)
|
||||
If WMObject IsNot Nothing Then
|
||||
' lock object for file system access (to change the file itself)
|
||||
WMObject.lock()
|
||||
@@ -672,7 +670,7 @@ Public Class ClassWindream
|
||||
Return False
|
||||
'MsgBox(Err.Description)
|
||||
End If
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - oWMStream erzeugt", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> oWMStream erzeugt", False)
|
||||
' give fileIO helper object the windream stream
|
||||
aFileIO.aWMStream = aWMStream
|
||||
If Err.Number > 0 Then
|
||||
@@ -691,7 +689,7 @@ Public Class ClassWindream
|
||||
Return False
|
||||
' MsgBox(Err.Description)
|
||||
End If
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Inhalt der Datei konnte übertragen werden", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Inhalt der Datei konnte übertragen werden", False)
|
||||
' close the windream file stream
|
||||
aWMStream.Close()
|
||||
If Err.Number > 0 Then
|
||||
@@ -710,7 +708,7 @@ Public Class ClassWindream
|
||||
Return Err.Number
|
||||
'MsgBox(Err.Description)
|
||||
End If
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Datei konnte gespeichert werden", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Datei konnte gespeichert werden", False)
|
||||
' unlock the windream object
|
||||
WMObject.unlock()
|
||||
If Err.Number > 0 Then
|
||||
@@ -723,7 +721,6 @@ Public Class ClassWindream
|
||||
'DATEI GRÖSSE ERMITTELN - MANCHMAL KOMMT ES VOR DAS DATEIGRÖße 0 ist
|
||||
Dim info2 As New FileInfo(vWLaufwerk & ":\" & endgültigerDateiname)
|
||||
Dim length1 As Long = info2.Length
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Length der Zieldatei: " & length1.ToString, False)
|
||||
If length1 > 0 And Err.Number = 0 Then
|
||||
If endgültigerDateiname.StartsWith("\") Then
|
||||
If endgültigerDateiname.StartsWith("\\") Then
|
||||
@@ -735,7 +732,7 @@ Public Class ClassWindream
|
||||
endgültigerDateiname = "\" & endgültigerDateiname
|
||||
End If
|
||||
CURRENT_FILEIN_WD = vWLaufwerk & ":" & endgültigerDateiname
|
||||
ClassLogger.Add(" - Datei '" & CURRENT_FILEIN_WD & "' wurde erfolgreich importiert!", False)
|
||||
ClassLogger.Add(">> Datei '" & CURRENT_FILEIN_WD & "' wurde erfolgreich importiert!", False)
|
||||
aktWMObject = WMObject
|
||||
Return True
|
||||
Else
|
||||
@@ -747,7 +744,7 @@ Public Class ClassWindream
|
||||
Return False
|
||||
End If
|
||||
Else
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - targetPath exisitiert NICHT", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> targetPath exisitiert NICHT", False)
|
||||
Return False
|
||||
End If
|
||||
|
||||
@@ -761,7 +758,7 @@ Public Class ClassWindream
|
||||
''' <remarks></remarks>
|
||||
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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> DateiIndexieren wurde aufgerufen", False)
|
||||
' das entsprechende Attribut aus windream auslesen
|
||||
Dim oAttribute = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, _Indexname)
|
||||
' den Variablentyp (String, Integer, ...) auslesen
|
||||
@@ -772,7 +769,7 @@ Public Class ClassWindream
|
||||
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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexieren wird gestartet", False)
|
||||
' ein windream-Objekt der Datei anlegen
|
||||
WMObject = aktWMObject 'oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, WD_File)
|
||||
Try
|
||||
@@ -788,9 +785,9 @@ Public Class ClassWindream
|
||||
' 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 wird gesetzt", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Objekttyp wird gesetzt", False)
|
||||
Else
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Objekttyp war bereits gesetzt", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Objekttyp war bereits gesetzt", False)
|
||||
End If
|
||||
|
||||
Try
|
||||
@@ -806,46 +803,46 @@ 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Datei wurde gespeichert / Unlock wurde durchgeführt", False)
|
||||
' wenn bis hierher alles geklappt hat wurde ein Dokumenttyp übergeben
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Objekttyp: " & _WDObjekttyp, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Objekttyp: " & _WDObjekttyp, False)
|
||||
|
||||
|
||||
' wenn keine Werte vorhanden sind, soll wenigstens der Dokumenttyp eingetragen werden
|
||||
|
||||
Dim indexe As String = ""
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Indexname: '" & _Indexname & "'", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexname: '" & _Indexname & "'", False)
|
||||
Dim werte = New ArrayList
|
||||
|
||||
'Den Typ des Index-Feldes auslesen
|
||||
'MsgBox(value.GetType.ToString)
|
||||
|
||||
|
||||
If (GetTypeOfIndexAsIntByName(_Indexname) = WMObjectVariableValueTypeVector) Or GetTypeOfIndexAsIntByName(_Indexname) = 4097 Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Es handelt sich um ein Vektor-Feld", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Es handelt sich um ein Vektor-Feld", False)
|
||||
|
||||
|
||||
'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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Wert vor Überprüfung: " & _Value, False)
|
||||
_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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Value für Indexierung: " & _Value, False)
|
||||
werte.Add(_Value)
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Werte zu Array hinzugefügt!", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Werte zu Array hinzugefügt!", False)
|
||||
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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Value vor Überprüfung: " & _Value, False)
|
||||
_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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Value für Indexierung: " & _Value, False)
|
||||
werte.Add(_Value)
|
||||
|
||||
End If
|
||||
@@ -872,7 +869,37 @@ Public Class ClassWindream
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Private Shared Function RunIndexing(ByVal oDocument As WMObject, ByVal Indizes() As String, ByVal aValues() As Object)
|
||||
Public Shared Function File_SetBooleanIndex(ByVal _value As Boolean, ByVal _dok As WINDREAMLib.WMObject, ByVal _Indexname As String, Optional SetOType As Boolean = True)
|
||||
Try
|
||||
If _Indexname <> "" Then
|
||||
'Überprüfen ob Boolean-Value bereits gesetzt wurde?
|
||||
Dim akt_Status As Boolean = CBool(_dok.GetVariableValue(_Indexname))
|
||||
If akt_Status <> _value Then
|
||||
'Index muß angepasst werden
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Index not set to '" & _value.ToString & "'", False)
|
||||
Dim arrIndex() As String = Nothing
|
||||
Dim arrValue() As String = Nothing
|
||||
'Nun die Datei indexieren
|
||||
arrIndex = Nothing
|
||||
arrValue = Nothing
|
||||
ReDim Preserve arrIndex(0)
|
||||
ReDim Preserve arrValue(0)
|
||||
arrIndex(0) = _Indexname
|
||||
arrValue(0) = _value.ToString
|
||||
RunIndexing(_dok, arrIndex, arrValue, SetOType)
|
||||
Else
|
||||
'Validation muß nicht angepasst werden
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Index already set to '" & _value.ToString & "'", False)
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Unexpected Error in File_SetBooleanIndex!")
|
||||
ClassLogger.Add("Error-Description: " & ex.Message)
|
||||
End Try
|
||||
|
||||
|
||||
End Function
|
||||
Private Shared Function RunIndexing(ByVal oDocument As WMObject, ByVal Indizes() As String, ByVal aValues() As Object, Optional setOType As Boolean = True)
|
||||
Dim vektInsState As Integer = 1
|
||||
Try
|
||||
If Indizes IsNot Nothing And aValues IsNot Nothing Then
|
||||
@@ -881,32 +908,33 @@ 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexvalue is empty - No indexing", False)
|
||||
End If
|
||||
' wenn der Datei noch kein Dokumenttyp zugewiesen wurde
|
||||
If oDocument.aObjectType.aName <> _WDObjekttyp Then
|
||||
If oDocument.aObjectType.aName <> _WDObjekttyp And setOType = True 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Objecttype '" & oDocument.aObjectType.aName & "' was changed to '" & _WDObjekttyp, False)
|
||||
Else
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Objekttyp war bereits gesetzt", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Objecttype was set already.", False)
|
||||
End If
|
||||
If setOType = True Then
|
||||
Try
|
||||
oDocument.Save()
|
||||
Catch ex As Exception
|
||||
' wenn es einen Fehler beim speichern gab, dann konnte auch kein Objekttyp gesetzt werden -> es kann also auch keine
|
||||
' Indexierung stattfinden und die Indexierung muss nicht fortgesetzt werden
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
|
||||
Try
|
||||
oDocument.Save()
|
||||
Catch ex As Exception
|
||||
' wenn es einen Fehler beim speichern gab, dann konnte auch kein Dokumenttyp gesetzt werden -> es kann also auch keine
|
||||
' Indexierung stattfinden und die Indexierung muss nicht fortgesetzt werden
|
||||
Return False
|
||||
End Try
|
||||
|
||||
'Jetzt jeden Indexwert durchlaufen
|
||||
For Each aName As String In Indizes
|
||||
indexname = aName
|
||||
If LogErrorsOnly = False Then
|
||||
ClassLogger.Add(" ", False)
|
||||
ClassLogger.Add(" >> Indexierung von Index '" & indexname & "'", False)
|
||||
ClassLogger.Add(" >> Indexing of index '" & indexname & "'", False)
|
||||
End If
|
||||
' das entsprechende Attribut aus windream auslesen
|
||||
Dim oAttribute = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i))
|
||||
@@ -938,7 +966,7 @@ Public Class ClassWindream
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> type of windreamIndex WMObjectVariableValueTypeInteger", False)
|
||||
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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Attention: Value '" & value & "' can not be converted to integer!", False)
|
||||
End If
|
||||
value = value.ToString.Replace(" ", "")
|
||||
convertValue = CInt(value)
|
||||
@@ -1022,7 +1050,7 @@ Public Class ClassWindream
|
||||
End Select
|
||||
If vektor = False Then
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Konvertierter Wert: '" & convertValue.ToString & "'", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Converted valuet: '" & convertValue.ToString & "'", False)
|
||||
End If
|
||||
End If
|
||||
'############################################################################################
|
||||
@@ -1031,7 +1059,7 @@ Public Class ClassWindream
|
||||
If vektor = False Then
|
||||
Try
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch dem Dok einen Index zuzuweisen: oDocument.SetVariableValue(" & aName & ", " & convertValue & ")", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Now: oDocument.SetVariableValue(" & aName & ", " & convertValue & ")", False)
|
||||
If _int = True Then
|
||||
convertValue = convertValue.ToString.Replace(" ", "")
|
||||
oDocument.SetVariableValue(aName, CInt(convertValue))
|
||||
@@ -1048,11 +1076,11 @@ Public Class ClassWindream
|
||||
'Die Datei speichern
|
||||
oDocument.Save()
|
||||
If LogErrorsOnly = False Then
|
||||
ClassLogger.Add(" >> Index '" & aName & "' wurde geschrieben", False)
|
||||
ClassLogger.Add(" >> index '" & aName & "' was written", False)
|
||||
ClassLogger.Add("", False)
|
||||
End If
|
||||
Else
|
||||
ClassLogger.Add(" >> Kein Indexwert vorhanden", False)
|
||||
ClassLogger.Add(" >> No indexvalue exists", False)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Unexpected Error in SetVariableValue für Index '" & aName & "': " & ex.Message, True)
|
||||
@@ -1060,7 +1088,7 @@ Public Class ClassWindream
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End Try
|
||||
|
||||
|
||||
Else
|
||||
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Vectorfield: Preparing of Array", False)
|
||||
@@ -1074,7 +1102,7 @@ Public Class ClassWindream
|
||||
Dim Anzahl As Integer = aValues.Length
|
||||
'Vektorfeld wird mit EINEM Wert gefüllt
|
||||
If Anzahl = 0 Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Vectorfield willl be filled with ONE VALUE", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Vectorfield will be filled with ONE VALUE", False)
|
||||
ReDim myArray(0)
|
||||
Select Case vType
|
||||
Case 36865
|
||||
@@ -1238,19 +1266,18 @@ Public Class ClassWindream
|
||||
|
||||
End If
|
||||
Else
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Array der Indexwerte ist leer/Nothing - Keine Nachindexierung", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Array of indexvalues is nothing - No indexing", False)
|
||||
End If
|
||||
i += 1
|
||||
|
||||
Next
|
||||
oDocument.unlock()
|
||||
If LogErrorsOnly = False Then
|
||||
ClassLogger.Add(">> ...und Unlock durchgeführt)", False)
|
||||
ClassLogger.Add("", False)
|
||||
ClassLogger.Add(" >> ...and unlock.", False)
|
||||
End If
|
||||
Return True
|
||||
Else
|
||||
ClassLogger.Add(" >> Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!", False)
|
||||
ClassLogger.Add(" >> document is locked!", False)
|
||||
'oDocument.unlock()
|
||||
Return False
|
||||
End If
|
||||
@@ -1364,7 +1391,7 @@ Public Class ClassWindream
|
||||
''' <returns>Liefert True wenn das Indexieren erfolgreich war, sonst False</returns>
|
||||
''' <remarks></remarks>
|
||||
Private Shared Function Indexiere(ByVal filenameZiel As String, ByVal index As String, ByVal werte As Object)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - In Indexierungsvorgang für: " & filenameZiel, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> In Indexierungsvorgang für: " & filenameZiel, False)
|
||||
Try
|
||||
Dim WMObject As WINDREAMLib.WMObject = Nothing '= CreateObject("WINDREAMLib.WMObject") '= New WINDREAMLib.WMObject 'CreateObject("WINDREAMLib.WMObject")
|
||||
'MsgBox("Indexiere: " & vbNewLine & filenameZiel)
|
||||
@@ -1450,7 +1477,7 @@ 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Bei dem Zielindex handelt es sich um einen Einzelindex.", False)
|
||||
Else
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" Bei dem Zielindex handelt es sich um ein Vektorfeld.", False)
|
||||
' ein Backup der Indexwerte anlegen
|
||||
@@ -1460,7 +1487,7 @@ 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Array geleert und erneuert!", False)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Hinweis: Beim Initialisieren der Datei auf dem windream-Laufwerk ist ein Fehler aufgetreten.", False)
|
||||
@@ -1470,7 +1497,7 @@ Public Class ClassWindream
|
||||
|
||||
'Try
|
||||
' den Typ des Zielindexes
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Typ des Indexes: " & TypDesIndexes.ToString, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Typ des Indexes: " & TypDesIndexes.ToString, False)
|
||||
Select Case (TypDesIndexes)
|
||||
Case WMObjectVariableValueTypeUndefined ' zu klären !!!!
|
||||
'convertValue = vbEmpty
|
||||
@@ -1688,13 +1715,13 @@ Public Class ClassWindream
|
||||
|
||||
' die Indexinformationen des Dokuments speichern
|
||||
WMObject.Save()
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - die Indexinformationen des Dokuments speichern", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> die Indexinformationen des Dokuments speichern", False)
|
||||
' 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)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> die Sperrung des Dokuments aufheben", False)
|
||||
Catch ex As Exception
|
||||
' nichts tun (Datei war nicht gesperrt)
|
||||
End Try
|
||||
|
||||
Reference in New Issue
Block a user