Twitter

 8.0.x  8.5.x 

Zugriff auf Notes.ini Variablen erfolgt gecachet

Manfred Meise  17 Januar 2013 08:36:39
 
Gelegentlich speichere ich innerhalb von Domino Anwendungen Werte in der Notes.ini (ja, ich weiß dass Profildokumente in vielen Fällen flexibler sind...).  Seit einigen Produktversion (mir ist nicht ganz klar, ab welcher Major-/Mino-Release) werden die im Code gesetzten Einträge noch nicht wirklich in die Betriebssystemdatei geschrieben oder während der Client Ausführung auf Betriebssystemebene veränderte Inhalte in z.B. LotusScript verfügbar sein (==>Caching zur Laufzeitoptimierung).

Dieses führt somit zu einem jüngst aufgetretenen Problem, bei dem ich im Rahmen eines Datenbankscriptes einen Semaphor setze und diesen z.B. im Rahmen eines PostOpen-Scriptes einer Ansicht (somit neue Session) auslesen wollte:

Datenbankscript:

 
Sub
Postopen(Source As Notesuidatabase)

      Dim s         As New NotesSession
      Dim db        As NotesDatabase
      Dim view      As NotesView
     
      Call s.Setenvironmentvar("Semaphor1", "1")        
     
      Set db         = s.Currentdatabase
      Call Source.OpenView("MyView")
       
End
Sub


Ansicht "MyView":

 
Sub Postopen(Source AsNotesuiview)
        Dim s         As New NotesSession
       
        Messagebox "INI-Var:" & s.GetEnvironmentString ("Semaphor1")
       
End Sub


Leider kommt der Wert im Ansichtsereignis nicht an. Vergleichbarer Code in zwei separaten Agent funktioniert einwandfrei. Somit bleibt mir auch im vorliegenden Fall nur die Umstellung auf Profildokumente mit dem Risiko von Dubletten, wenn Benutzer Repliken auf verschiedenen Servern verwenden.....