Domino 9 und frühere Versionen > ND6: Entwicklung

Rückgabewert einer Function

<< < (3/3)

Untitled:
Also bei mir hat die Übergabe geklappt, wenn ich "VarValues(i) = doc.GetItemValue(VarFields(i) )(0)" geschrieben habe.

Aber dann wird ja, wie gesagt, nur das erste Element übergeben.

Also was du hier machen möchtest, sind mehrere Rückgabewerte. Das funktioniert in Notes so nicht. Du kannst dir mit einem Variant-Array tatsächlich behelfen, aber mit Arrays in Arrays wirds dann ziemlich kompliziert, das Ganze klug zusammenzusetzen um es später wieder auseinanderzupfriemeln.

Was möchtest du denn genau erreichen? Gibts vielleicht einen anderen Weg?

Moritz

Tode:
das ganze liesse sich durchaus mit Arrays in Arrays behandeln, wird aber schnell unübersichtlich....

Ich würde schlicht und ergreifend mit einer eigenen Klasse arbeiten, da bleibt das ganze auch noch schön sprechend.

Also so:

Class OpenValues

   Public Namen as Variant
   Public Vornamen as Variant
   Public Kategorien as Variant

   Sub New( doc as NotesDocument )
      Me.Namen = doc.GetItemValue( "Name" )
      Me.Vornamen = doc.GetItemValue( "Vorname" )
      Public Kategorien = doc.GetItemValue( "Kategorie" )
   End Sub
End Class

Das ganze dann so aufrufen:

Dim openVals as OpenValues

...
Set openVals = New OpenValues( doc )

und dann können die Werte jederzeit ohne kenntnis des jeweiligen Array- Index aufgerufen werden:

Forall kategorie in openVals.Kategorien
...
End Forall

oder so
tmpName = openVals.Vorname( i ) & " " & openVals.Name( i )

nur um mal ein paar Beispiele zu nennen...

Ist doch allemal lesbarer als

name1 = openVals( 0 )( 0 )

(was nebenbei LotusScript auch gar nicht zulässt, man müsste mit "Zwischen- Arrays" arbeiten)

HTH
Tode

Annette:
Hallo Moritz,
Ziel ist es, im Postopen best. Feldwerte einzulesen und diese mit den Feldwerten im Querysave zu vergleichen um bei Änderungen weitere Aktionen starten zu können (das Ganze soll ich Backend ablaufen).
Ich wollte den Code möglichst in einer Funktion haben, um nicht ständig in den verschiedenen Masken ändern zu müssen.

Gruß,
Annette

Annette:
die Idee mit der Klasse gefällt mir ganz gut, auch wenn ich damit gar keine Erfahrung habe  ::)
ICh denke mal, hier im Forum werde ich dazu noch ein paar gute Tipps finden!

Vielen Dank für die Hilfe!!!

LN4ever:
Liebe Annette,

das riecht doch nach einer Document-History der Feldinhalte.

Schau einmal hier: http://www.sw-guide.de/lotus-notes-domino/lotusscript-history/

Das ist vielleicht für dich schon die fertige Lösung.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln