Das Notes Forum

Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: stitze am 08.03.05 - 08:29:29

Titel: Evaluate
Beitrag von: stitze am 08.03.05 - 08:29:29
Morgen zusammen, hab ein kleines Problem mit folgender Code Zeile

strUser=strUser+ aclentry.Name+"~~~"+ Evaluate("Implode(aclentry.Roles,",")", doc)

strUser ist eine String Variable, erklärt sich glaub ich von selber ;)
doc ist eine Lotus NotesDocument Variable.

Leider bekomm ich einen Type Missmatch Fehler  ???

Kann mir da jemand weiterhelfen.
Titel: Re: Evaluate
Beitrag von: Driri am 08.03.05 - 08:40:28
1. Die Formel, die per Evaluate ausgeführt werden soll, ist fehlerhaft.

- @ fehlt
- Optionen werden in Formelsprache per ; getrennt, nicht per ,
- Evaluate führt das angegebene Macro aus. aclentry.roles steht als String mit im Macro. Du mußt das Macro anders aufbauen :

Evaluate({@Implode(} + aclentry.Roles + {;",")}, doc)

2. Aus Gründen der Übersichtlichkeit, würde ich das lieber entzerren und in mehrere Zeilen schreiben. Das ist allerdings Geschmackssache, hilft aber deutlich der Lesbarkeit des Codes.
Titel: Re: Evaluate
Beitrag von: rar am 08.03.05 - 08:44:03
Außerdem gibt Evaluate IMHO ein Array zurück...
Probiers mal mit
Evaluate({@Implode(} + aclentry.Roles + {;",")}, doc)(0)

HTH
Titel: Re: Evaluate
Beitrag von: stitze am 08.03.05 - 08:51:24
Ja danke so funktioniert es  :D, vielen Dänk

Könnt ihr mir nur noch erklären warum ihr die {} benutzt habt, ich denke mal das hat was mit dem Methodenaufruf von ACLEntry zu tun?

Titel: Re: Evaluate
Beitrag von: Driri am 08.03.05 - 08:55:46
Nein, {} bzw. | ermöglichen das "Einklammern" von Text, da Du ansonsten Probleme mit den Anführungszeichen "" bekommst.

Da gabs gerade noch nen passenden Thread zu : Link (http://www.atnotes.de/index.php?topic=21680.0)
Titel: Re: Evaluate
Beitrag von: stitze am 08.03.05 - 09:01:29
Danke für deine sehr schnelle hilfe und guten erklärungen.
Titel: Re: Evaluate
Beitrag von: Driri am 08.03.05 - 09:04:09
Gerne  :)
Titel: Re: Evaluate
Beitrag von: koehlerbv am 08.03.05 - 10:36:04
By the way: In LS ist der String concenator nicht "+", sondern "&". Unter bestimmten Umständen kann man mit "+" auf die Nase fallen.

Bernhard