Es ist der Name des Item ("Lock"). In R5 hatte dieses Item noch keinerlei (System-)Bedeutung, jetzt ist es ein reservierter Name für das in R6 integrierte Document locking.
Bernhard
Ich habe das Ganze auch mal probiert. Leider funzt das bei mir nicht.
Zum allgemeinen Verständnis:
- ich lege ein Textfeld bearbeitbar nicht mit Namen "Lock" sondern "Gesperrt" an.
- ich ersetze im Script Lock durch Gesperrt
If (Source.IsNewDoc) Then
Exit Sub
End If 'New Doc, Gesperrt not reqd
Dim varGesperrt As Variant
Dim session As New NotesSession
Dim nnUserName As New NotesName(session.UserName)
Set docBackend=Source.document
varLock=docBackend.GetItemValue("Gesperrt")
If (varGesperrt(0) <> "") Then
Msgbox ("Document is currently locked by "+varLock(0)+". A read-only copy will be opened for your use.")
Exit Sub
End If
docBackend.Gesperrt=nnUserName.Common
Call docBackend.Save(True,True)
End Sub
'When user trys to edit, check if he/she has the lock
Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
If Source.FieldGetText("Gesperrt")<>"" Then
Dim session As New NotesSession
Dim nnUserName As New NotesName(session.UserName)
If (Strcomp(nnUserName.Common,Source.FieldGetText("Gesperrt"),5)=0) Then
continue=True
Else
Msgbox("Sorry, you are in read-only mode ! This operation cannot be performed. This document is currently used by "+Source.FieldGetText("Gesperrt"))
continue=False
End If
End If
End Sub
'Release the lock when the user with the lock closes the document
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
If strNewDoc="New" Then '(exit if it's a new doc.Set this variable to New in postopen if it's a new doc)
Exit Sub
End If
Dim session As New NotesSession
Dim nnUserName As New NotesName(session.UserName)
If (Strcomp(nnUserName.Common,Source.FieldGetText("Gesperrt"),5)=0) Then
Set docBackend=Source.document
docBackend.Gesperrt=""
Call docBackend.Save(True, True)
End If
End Sub
- kopiere das Script in die Script-Options von Feld Gesperrt
- die Sripte werden verteilt auf die einzelnen Punkte "Open", "Modechange" und "Close"
- Der debugger läuft ohne zu Murren durch aber trotzdem bekomme ich keine Meldung das ein Dokument schon bearbeitet wird usw.
Sorry für diese vielleicht dumme Frage. Bin eben noch Script-Anfänger ersten Grades.
Wo liegt mein Denkfehler?
Wilfried