Mehrere Rückgabewerte...

  • Ich kann kein C, aber such in der Designer-Hilfe mal nach "ByVal". Vielleicht ist es ja das, was du willst...

    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

  • irgend wie klappt das nicht...
    ich möchte aus meiner hauptfunktion 2 werte an die unterfunktion übergeben. diese werte werden dann dort überschrieben, aber nicht zurückgegeben...

  • Standardmäßig werden in Lotus Script alle Variablen per Reference übergeben, d.h. veränderst du sie in der Funktion sind sie auch im aufrufenden Teil verändert.


    Verwendest du das Schlüsselwort ByVal werden immer nur Kopien übergeben.


    Wie sieht denn dein Aufruf und deine Funktion aus ?

    • Offizieller Beitrag

    was rufst du eigentlich auf (API, Function, Sub)?


    Also im Notes werden Argumente immer als Referenz übergeben. will ich es als Wert, dann muss ich diese immer explizit angeben.


    Beispiel:


    Sub xyz(arg1 as string, ByVal Arg2 as string)
    arg1 ... wird als Referenz übergeben
    arg2 ... wird als Wert (Value) übergeben



    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

    • Offizieller Beitrag

    bei einer Function würde es dann so ähnlich aussehen.


    Beispiel:
    Function xyz(arg1 as string, ByVal Arg2 as string) as string
    arg1 ... wird als Referenz übergeben
    arg2 ... wird als Wert (Value) übergeben


    Auszug aus der NotesHilfe zum Thema Call


    Wegen Syntax 1 und 2 spielt es keine Rolle, ob eine Sub mit
    Call xyz(arg1, arg2)
    oder
    xyz arg1, arg2
    aufgerufen wird.


    Gruß
    Dirk

  • Zitat


    Wegen Syntax 1 und 2 spielt es keine Rolle, ob eine Sub mit
    Call xyz(arg1, arg2)
    oder
    xyz arg1, arg2
    aufgerufen wird.


    Sollte eigentlich keine Rolle spielen!!!
    Probier mal aus!

    • Offizieller Beitrag

    ich nutze beide Versionen.


    Wie viele Argumente übergibst du?


    Rufst du eventuell die Sub wie folgt auf?
    xyz[color=CC0000]([/color]arg1[color=CC0000])[/color]


    Dies wäre dann Syntax 3 und dort steht:

    Zitat

    Syntax 3
    subOrFunction ( argPassed[color=CC0000]ByVal [/color] )


    Zitat

    aus der Designer-Hilfe
    When you [color=CC0000]omit[/color] the Call keyword, the following parenthesis rules apply:
    For a sub or a function, do not use parentheses around the argument list (Syntax 2) unless you are passing a single argument by value to the sub or function (Syntax 3).


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein