Domino 9 und frühere Versionen > ND6: Entwicklung
Funktion liefert kein NotesItem als Rückgabewert
Axel:
Irgendwie habe ich gerade ein Brett vorm Kopf und stehe auf der Leitung.
Ich habe in einer Script-Bibliothek eine Funktion, die mir ein NotesItem zurückliefern soll.
--- Code: ---Function NamederFunktion(Parameter As...) As NotesItem
Dim item As NotesItem
'Hier erfolgt die Verarbeitung
Set NamederFunktion = item
End Function
--- Ende Code ---
Bis hier klappt das Ganze auch.
In einem Agenten rufe ich die Funktion auf
Dim item as NotesItem
Set item = NamederFunktion(Parameter....)
Die Variable item ist aber leer.
Kann mir einer sagen warum?
Axel
koehlerbv:
Ich vermute, Du instatiiertst innerhalb der Funktion ein Objekt und leitest davon das Item ab. Ist die Funktion abgearbeitet, wird das Objekt vernichtet und damit auch das "Elternteil" des Items.
Bernhard
Axel:
Ich hole mir mit GetDocumentByKey ein NotesDoucment und mache dann ein
Set item = doc.GetFirstItem
Von der Vorgehensweise entspricht das in etwa dem, was in !!HELP!! auch passiert.
Axel
Glombi:
Du kannst das NotesItem als Parameter an die Funktion übergeben - da es Call by Reference ist sollte es nach dem Arbeiten der Funktion in der aufrunden Sub zur Verfügung stehen.
Bsp.
dim item as NotesItem
call NamederFunktion(Parameter,.., item)
Function NamederFunktion(Parameter As..., item as NotesItem) as Integer
...
If not item is nothing then
NamederFunktion = true
else
NamederFunktion = false
end if
End Function
Andreas
koehlerbv:
Das wäre eine Methode. Alternativ kann man das NotesDocument, das ja die Vaterschaft für das NotesItem übernimmt, global definiert werden. Auf jeden Fall darf es nicht mit der Function wieder verloren gehen.
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln