alternative wäre
Array als Parameter byRef übergeben und in der Funktion füllen und das, was in der Funktion passiert als Rückgabewert
is wahrscheinlich geschickter
Leicht verdribbelt, Herr Kollege. ;D
Variablen werden in LotusScript standardmässig by reference übergeben:
Sub Click(Source As Button)
Dim i As Integer
Dim ar(1) As String
ar(0) = "alt"
ar(1) = "alt"
Call doStuff(ar)
For i = 0 To Ubound(ar)
Msgbox "ar(" & Cstr(i) & ")=" & ar(i)
Next
End Sub
Sub doStuff (ar As Variant)
ar(0) = "neu"
End Sub
@Mathias: Das ist vielleicht die Lösung deines Problem. Du brauchst einfach den Array gar nicht zurückzugeben.
Der Funktion wird keine Kopie der Variablen übergeben (by value), sondern ein Pointer auf den Speicherbereich, wo der Inhalt der Variable steht.
Hättet ihr verdammten Zivilisten euch damals bei den Marcus Green Wochen für die Sun Certified Java Programmer certi mitgemacht, müßte das jetzt nicht mehr erklärt werden. (http://saloon.javaranch.com/ubb/graemlins/banghead.gif) ;D
Wenn die Variable im Parameter by Value (Kopie) übergeben wird, hat es keine Auswirkung, wenn die aufgerufene Funktion die Variable verändert.
Nähere Infos Notes Hilfe: "Passing arguments by reference and by value".
Gruß Axel