Domino 9 und frühere Versionen > Entwicklung

OLE

<< < (2/3) > >>

koehlerbv:
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

Woschi:
...vielen Dank für die prompte Antwort!

Habs direkt ausprobiert und tatsächlich es FUNZT!  ;)

schurke:

--- Zitat von: koehlerbv am 02.02.06 - 14:53:08 ---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

--- Ende Zitat ---

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

Axel:

--- Zitat von: schurke am 03.02.06 - 14:50:15 ---- kopiere das Script in die Script-Options von Feld Gesperrt

--- Ende Zitat ---

Was meinst du damit? Was hast du wohin kopiert?


--- Zitat von: schurke am 03.02.06 - 14:50:15 ---- Der debugger läuft ohne zu Murren durch aber trotzdem bekomme ich keine Meldung das ein Dokument schon bearbeitet wird usw.

--- Ende Zitat ---

Wie sieht der Feldinhalt von "Gesperrt" aus.


Axel

schurke:

Was meinst du damit? Was hast du wohin kopiert?

Das ganze Script in den Speicher und dann in die Options vom Feld Gesperrt


Wie sieht der Feldinhalt von "Gesperrt" aus.

Kein Feldinhalt vorhanden.

wilfried

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln