Domino 9 und frühere Versionen > ND6: Entwicklung

Problem mit Evaluate

(1/5) > >>

Jenson:
Moin,

ich brauche in einem Script, dass von einem Hintergrundagenten ausgeführt wird den Benutzernamen des derzeit in der Session angemeldeten Benutzers. (Das ganze ist eine Webseite). Wenn ich mit der @Formelsprache @UserName abfrage, dann bekomme ich den auch. Allerdings muss ich an dieser Stelle wegen der gewünschten Funktionalität LotusScript verwenden. Hier bekomme ich dann immer den Namen des Servers zurück. Also dachte ich daran es über Evaluate zu probieren.

Folgende Zeilen:

Dim Session as New NotesSession
Dim db As New NotesDatabase( "", "" )
Dim doc As NotesDocument
Dim dateTime As New NotesDateTime( "" )
Dim usrname As NotesName
Dim username As string
Dim NoAddress As string
Dim Initials As string
Dim ret As Variant
Dim SekInt As Integer
Dim Sekunden As String
Dim YYMMDD As String
Dim docID As String
Dim eval As Variant


eval = Session.Evaluate("@UserName", doc)


ergeben bei mir aber die Fehlermeldung:


"Not a member: Evaluate (156)"

Ich hab mich schon durch zich Beispiele in der Hilfe gewühlt und bin keinen Schritt weiter.

doc

Jenson

Semeaphoros:
NotesSession.Evaluate gibt es nur, wenn man via COM draufzugreift, also nicht in LS. In LS muss stattdessen die Evaluate-Funktion verwendet werden, sprich ohne SessionDot

Glombi:
Das geht so nicht, da das Script auf dem Server ausgeführt wird und dort der Servername als username zurückgeliefert wird, wie Du bereits festgestellt hast.

Du musst in Deiner Maske ein Feld (Berechnet zur Anzeige) mit dem Wert @Username erstellen.
Auf das Feld kannst Du dann in dem Agenten zugreifen.


Generell: Die Syntax wäre
eval = Evaluate("@UserName")
print "Der Username ist = " & eval(0)

Andreas

koehlerbv:
Evaluate ist auch kein Member der Klasse NotesSession, sondern ein LS-Statement / function. Schau Dir die Syntax mal in der DesignerHelp genau an. Dann wirst Du auch feststellen, dass der Parameter doc in diesem Zusammenhang überflüssig ist.

Bernhard

Glombi:
Bernhard, Du bist aber spät dran  ;D  ;)

Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln