Das Kompilieren von NotesDBs habe ich schon mal gemacht (damals unter Notes5).
Function compileScriptLibsThenAgents( db As notesDatabase ) As String
On Error Goto errorZ
Dim api As Win32DatabaseDesign
Dim s$, v
Set api = New Win32DatabaseDesign( db )
v = api.scriptLibraryDocuments
If Not isArrayEmpty( v ) Then
Forall x In v
' If Not Instr( x.~$flags(0), "j") Then
If api.compile ( x ) Then
s = s & "Lib-" & x.~$title(0) & ": OK" & Chr(10)
Else
s = s & "Lib-" & x.~$title(0) & ": FEHLER" & Chr(10)
End If
' Else
' s = s & "Lib-" & x.~$title(0) & ": kein LotusScript" & Chr(10)
' End If
End Forall
End If
v = api.agentDocuments
If Not isArrayEmpty( v ) Then
Forall y In v
If Instr( y.~$flags(0), "L") Then
If api.compile ( y ) Then
s = s & "Agent-" & y.~$title(0) & ": OK" & Chr(10)
Else
s = s & "Agent-" & y.~$title(0) & ": FEHLER" & Chr(10)
End If
Else
s = s & "Agent-" & y.~$title(0) & ": kein LotusScript" & Chr(10)
End If
End Forall
End If
compileScriptLibsThenAgents = s
Goto endeZ
errorZ:
If errorHandler Then Resume Next Else Goto endeZ
endeZ:
End Function
Wichtig dabei ist die Reihenfolge, zuerst Lib dann Agents. Die Klasse Win32DatabaseDesign befindet sich in der Lib "DBDesign" zu finden unter http://www-10.lotus.com/ldd/sandbox.nsf/0/f81067f94a1143f3852567d800660625, von Damien Katz.
bubble
Nein..
ich muss Kanstante in einer Library anpassen...
Eine Frage noch:
If api.compile ( x ) Then...
In welcher Klasse ist die Methode "Compile" ? ???
In der "DBDesign" von Demian Katz (gem. Link) ist sie nicht ? :-: