Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ANBendig am 12.09.08 - 11:24:08
-
Hallo zusammen,
zuerst mal großes Lob ans Forum!! Hab schon viele Ideen und Denkanstöße hier sammeln können. Doch zu meinem Problem:
Ich habe eine Maske, in welcher alle Lotus-Script Events in einer Bibliothek in einer Klasse zusammengefasst sind. Unter anderem auch das Ereigniss "QueryModeChange". In dieser Funktion wird aber kein Code ausgeführt. Die Rückgabe ist lediglich QueryModeChange=Continue (Übergabeparameter der Funktion/Events). Soweit so gut.
Nun verwende ich aber auch eine Teilmaske in welcher als Beispiel das Ereignis QueryModeChange=false gesetzt wird. Erwarten würde ich, dass alle Designelemente nacheinander abgefragt werden und bei einem False die Maske nicht in den Bearbeiten-Modus übergeht. Dem ist aber leider nicht so!! :-[ Der Code wird im Debugger ausgeführt und die Ausführung schlichtweg ignoriert. Nun habe ich im Netz gelesen, dass diese Ereignisse seit Notes 6 zwangsweise nicht mehr zuverlässig funktionieren, wenn man sie in einer Teilmaske ausführt.
Hat jemand schonmal ein ähnliches Problem gehabt oder kann dieses bestätigen?
Gruß Andreas
-
Du musst folgendes machen:
Entweder nur in der Teilmaske oder nur in der Maske
(Globals): (Declarations)
Dim blnLoad As Boolean
(Globals) Initialize
blnLoad = False
Postopen
If Source.EditMode Then
blnLoad = True
Source.EditMode = False
End If
Querymodechange
If blnLoad Then
blnLoad = False
Else
Continue = False
End If
Statt Postopen verwende ich eigentlich lieber onLoad (wird lt. Designer-Hilfe bevorzugt)
Diesen Code aber nur entweder in die Teilmaske oder in die Maske, nicht in beide Desingelemente zugleich, sonst kommt es zu einer Notes-Fehlermeldung.
Das Continue = False in Querymodechange verhindert nur das Umschalten im geöffneten Dokumente von Lesen in Bearbeiten.
Beim Öffnen des Dokuments gleich im Bearbeitenmodus musst Du o. g. Code verwenden, sonst kommt man doch in den Bearbeitenmodus.