Funktionsrückgbe scheitert...

  • Liebe Gemeinde,


    irgendwo mache ich einen ziemlich dummen Fehler. Ich bin aber nicht in der Lage den zu finden.


    Ich habe eine Funktion die ein Notesdokument erstellt und diese an die übergeordnete Funktion zurückgibt. Dort kommt diese aber nicht an.


    Könnt Ihr helfen ?


    Code
    Function schreibeEintrag (...) As NotesDocument	Dim oDoc As NotesDocument	Set oDoc = oDB.CreateDocument	oDoc.Form = "Eintrag"	...	Felder setzen	If oDoc.ComputeWithForm( False, True ) Then		Call oDoc.Save(True, False)		Set schreibeEintrag = oDoc	Else		Set schreibeEintrag = Nothing	End IfEnd Function


    die Aufrufende Funktion:


    Code
    Function erstelleDocEintraege(...) As Variant
    	Dim oDoc As NotesDocument
    	Dim arlocal() As NotesDocument
    	Set oDoc = schreibeEintrag(objMsg,oEintrag,objEinstellungen)
    	Set arlocal(Ubound(arlocal)) = oDoc
    	erstelleNotesDocEintraege = arlocal
    end Function


    Die Variable oDoc der aufrufenden Funktion ist leer. Umbenennen und ähnliches hat nicht geholfen. Die Funktion "schreibeEintrag" hat das Notesdokument gespeichert.


    Könnt Ihr helfen?


    Danke.


    Wolfgang

  • An die Funktion wird nur die Referenz, aber nicht das Objekt übergeben, vgl. dazu in der Hilfe das Kapitel "Passing arguments by reference and by value"

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl