Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Blackraven am 22.09.11 - 15:02:18

Titel: Source.Editmode = True
Beitrag von: Blackraven am 22.09.11 - 15:02:18
Hallo zusammen,

ich steh gerade total auf der Leitung.
Ich wollte analog der Vorgehensweise von Koehlerbv bzgl. "EditMode für bestimmte Dokumente verwehren", den Editiermodus unter bestimmten Voraussetzungen verhindern.

ABER: egal ob ich per Doppelklick oder über nen "Bearbeiten"-Button (mit @Command([EditDocument]; "1")) das Dokument zu bearbeiten suche, immer hab ich Source.Editmode = False.
Zugriffsrecht = Editor.

Woran liegt das?
Titel: Re: Source.Editmode = True
Beitrag von: koehlerbv am 22.09.11 - 15:05:18
"Analog zu koehlerbv" kann das aber nicht gemacht worden sein.

Es wäre hilfreich, wenn Du mehr Infos zu Deiner Vorgehensweise / Code preisgeben würdest.

Bernhard
Titel: Re: Source.Editmode = True
Beitrag von: koehlerbv am 22.09.11 - 15:06:54
Ich möchte auch an dieser Stelle nochmals ernsthaft darauf hinweisen, dass die Vorgehensweise zum Verhindern des EditMode über Maskenevents lediglich "security by obscurity" ist und nur in ausgewähltesten Situationen eingesetzt werden darf!

Bernhard
Titel: Re: Source.Editmode = True
Beitrag von: Blackraven am 22.09.11 - 15:14:46
ok, ganz analog geht das natürlich nicht ;-)

Aber jeder Abfrage von
"If (Source.EditMode = True) And (THE_CONDITION) Then"
sowohl innerhalb des Postopen oder Querymodechange steht im Debugger der Editmode auf FALSE.

Egal wie ich versuche in den Bearbeiten-Modus zu kommen.
Titel: Re: Source.Editmode = True
Beitrag von: ata am 22.09.11 - 15:18:25
... sind Leser/Autorenfelder im Spiel? Eventuell fehlt dir das benötigte Recht um in den EditMode zu kommen...

Was passiert bei STRG + E

Toni
Titel: Re: Source.Editmode = True
Beitrag von: Blackraven am 22.09.11 - 15:20:45
Ja, ich habe Leser-/Autorenfelder, die passen auch soweit.
Aber ich bin mit Editorenrechten am Werk.

Strg-E: gleiches Verhalten :(
Titel: Re: Source.Editmode = True
Beitrag von: koehlerbv am 22.09.11 - 15:23:22
Da keine sinnvollen Infos zur Umgebung kommen, habe ich eben meine Kristallkugel in die Ecke gestellt. Will "Blackraven" nicht, will meine Kristallkugel eben auch nicht!

Bernhard
Titel: Re: Source.Editmode = True
Beitrag von: Blackraven am 22.09.11 - 15:26:11
was brauchst du denn für Infos?
ich bin Editor und versuche ein Dokument zu bearbeiten. Sowohl per Doppelklick als auch per Button.

Ich hab doch versucht es zu erklären.... ich scheiter doch schon an der Zeile

"If (Source.EditMode = True) And (THE_CONDITION) Then" , weil jedes mal Editmode=False beim Dokument steht.

Titel: Re: Source.Editmode = True
Beitrag von: Peter Klett am 22.09.11 - 15:41:01
Du solltest das mal in einer nackten Datenbank mit einem nackten Dokument nachbauen. Wenn es da funktioniert (und das wird es wohl auch), muss irgendetwas in der Datenbank sein, was das Bearbeiten verhindert. Schau vielleicht mal in den Events der Ansicht nach. Oder gibt es Teilmasken?
Titel: Re: Source.Editmode = True
Beitrag von: koehlerbv am 22.09.11 - 15:46:53
Und was verbirgt sich bei Dir hinter der Konstanten "THE_CONDITION"? Wie hast Du die definiert?

Bernhard
Titel: Re: Source.Editmode = True
Beitrag von: ata am 22.09.11 - 16:23:42
@Bernhard,

Zitat
Und was verbirgt sich bei Dir hinter der Konstanten "THE_CONDITION"?
... das muß keine Konstante sein - wir würden es aufgrund der Schreibweise als Konstante einschätzen - das kann genauso eine Variable sein...

Die Aussage war, das Source.EditMode = False wäre. Und das bedeutet, daß in einem der Events der Maske oder Teilmaske(n) etwas den EditMode auf False setzt.
Es kann auch in der Ansicht gesteuert sein...
Titel: Re: Source.Editmode = True
Beitrag von: koehlerbv am 22.09.11 - 16:27:26
Toni, THE_CONDITION stammt aus meinem BP-Artikel ...

Bernhard
Titel: Re: Source.Editmode = True
Beitrag von: Tode am 22.09.11 - 16:32:59
Ist eigentlich der Code so geheim, dass man ihn hier nicht posten kann?
Ich vermute schlicht einen Tippfehler oder aber ein nicht verstandenes Tutorial... Und das kriegt man nur raus, wenn man den Code sieht...

Ohne Code -> Keine Hilfe möglich (IMHO)
Titel: Re: Source.Editmode = True
Beitrag von: ata am 22.09.11 - 17:31:51
@Bernhard,

... wenn dem so ist, wie du es sagst -  :-X  ;)
Titel: Re: Source.Editmode = True
Beitrag von: koehlerbv am 22.09.11 - 21:35:37
Da sag ich jetzt nichts mehr dazu ...

Bernhard

Für den Platzhalter THE_CONDITION ist jeweils die konkrete Bedingung zu formulieren. Soll das Editieren generell verhindert werden, kann dieser Zweig auch entfallen.
Zwei Beispiele:
If (Source.EditMode = True) And (Source.Document.Status (0) = "Accepted") Then
oder - ohne Bedingung -
If (Source.EditMode = True) Then


Code
Sub Postopen (Source As Notesuidocument)
	
	'Prevent editing a document under a certain condition:
	If (Source.EditMode = True) And (THE_CONDITION) Then
		Source.EditMode = False 		'This triggers the QueryModeChange event !
	End If
	
End Sub
Titel: Re: Source.Editmode = True
Beitrag von: ata am 23.09.11 - 08:26:25
... gut gedacht - und schnell kopiert ohne die Auswirkungen zu erfassen ;)

Im Augenblick scheint es, als ob es das gewesen wäre   ::)

Toni
Titel: Re: Source.Editmode = True
Beitrag von: pram am 23.09.11 - 13:28:38
und vermutlich noch ein "option declare" vergessen, sonst wär der Fehler gleich aufgefallen...