Domino 9 und frühere Versionen > ND6: Entwicklung

Funktion liefert kein NotesItem als Rückgabewert

(1/2) > >>

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