Hallo Gemeinde,
ich hab da auch gerade noch was zu gefunden, vielleicht hilft das ja auch weiter.
Um zu vermeiden, dass der Kopierschutz bereits bei der Implementation durch Öffnen der zu schützenden Datenbank aktiviert wird (Datenbank merkt sich das Systemdatum und die Systemzeit), empfielt sich folgende Vorgehensweise:
Erstellen einer neuen Instanz (NSF) der zu schützenden Datenbank mittels Menübefehl "Datei | Datenbank | Neu..." und Angabe der entsprechenden Schablone (ohne Kopieschutz)
Implementation des unten angegebenen LotusScript-Codes im Datenbank-Script dieser neuen NSF
Erstellen einer neuen Schablone (NTF) durch den Menübefehl "Datei | Datenbank | Neue Kopie..." durch Kopieren der NSF
In den Datenbankeigenschaften der NTF unter Gestaltung definieren, dass diese Datenbank eine Schablone ist und den entsprechenden Schablonennamen spezifizieren
Die Gestaltung der NSF ersetzen durch die Schablone NTF mittels Menübefehl "Datei | Datenbank | Gestaltung ersetzen...", Angabe der entsprechenden Schablone und der gesetzten Option "Gestaltung verstecken
Der Kopierschutz wird durch folgende Anweisungen im Datenbank-Script realisiert:
<--- begin of (Declarations) ------>
Declare Function NEMGetCurrentSubprogramWindow Lib "nnotesws.dll" () As Long
Declare Function NEMStopSubprogramWindow Lib "nnotesws.dll" (Byval hwnd As Long) As Integer
<----- end of (Declarations) ------>
<--- begin of Sub Postopen ----->
Sub Postopen(Source As Notesuidatabase)
Dim w As New NotesUIWorkspace
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim titel As String
Dim future As Variant
Set db = Source.Database
Set doc = db.GetProfileDocument("Verfall")
If Not (doc.HasItem("Verfall")) Then
doc.Verfall = Cdat(Today + 90)
Call doc.save(True,True)
Set doc = db.GetProfileDocument("Verfall")
End If
titel = db.Title
future = doc.GetItemValue("Verfall")
If Cdat(future(0)) < Cdat(Today) Then
Dim wHandle As Long
' Get window handle
wHandle = NEMGetCurrentSubprogramWindow
' Close current window
Call NEMStopSubprogramWindow(wHandle)
Print "Benutzungszeitraum der DB < " + titel + " > ist abgelaufen!!"
End If
End Sub
<----- end of Sub Postopen ----->
Gruß
Robert