tom: Probleme bei funktionen mit mehreren Parameter.

Ich habe ein Funktion mit mehreren Parametern.

Function neue_rangliste(v_datum, v_resort, v_disziplin)

möchte nun einen Wert zurückgeben.

neue_rangliste = 0

wenn ich die Funktion ohne Parameter aufrufe geht das ohne Probleme wenn ich sie aber mit Parameter aufrufe gibt es eine Fehler Meldung.

Falsche Anzahl an Argumenten oder ungültige Eigenschaftszuweisung: 'neue_rangliste'

Was mache ich Falsch?

Tom

  1. Hi,

    ich bin zwar kein ASP-Experte, aber...

    Function neue_rangliste(v_datum, v_resort, v_disziplin)
    neue_rangliste = 0

    ...warum erzeugst Du ein 'neue_rangliste' vom Typ 'Function', wenn Du es kurze Zeit später durch einen Integer überschreibst?[1]

    wenn ich die Funktion ohne Parameter aufrufe geht das ohne Probleme wenn ich sie aber mit Parameter aufrufe gibt es eine Fehler Meldung.

    Ein Integer hat keine Parameter.

    Cheatah

    [1] Möglicherweise interpretiert ASP diese Zuweisung auch anders; z.B. als Menge der zu übergebenden Parameter. Die Doku sagt Dir mehr. Vermutlich möchtest Du aber einfach nur Deine Variable anders benamsen.

    --
    X-Will-Answer-Email: No
    1. Hallo

      ich bin zwar kein ASP-Experte, aber...

      Ich auch nicht, hab' aber einiges in <schäm>VB</schäm> programmiert.

      Function neue_rangliste(v_datum, v_resort, v_disziplin)
      neue_rangliste = 0
      ...warum erzeugst Du ein 'neue_rangliste' vom Typ 'Function', wenn Du es kurze Zeit später durch einen Integer überschreibst?[1]

      In VB ist es so, dass bei einer Funktion blabla der Rückgabewert in der Variablen blabla stehen muss, die automatisch angelegt wird.

      Ich nehme an, dass das Verhalten in VB-Script analog ist.

      wenn ich die Funktion ohne Parameter aufrufe geht das ohne Probleme wenn ich sie aber mit Parameter aufrufe gibt es eine Fehler Meldung.

      Knackpunkt ist, Du rufst nicht die Funktion mit Parametern auf, sonder n Du erzeugst eine Rückgabe innerhalb der Funktion. Wenn diese Rückgabe einen bestimmten Datentyp haben soll, was fast immer besser ist, so muss die Funktion folgendermassen geschrieben werden:

      Function blabla(para1, para2, para3) As Integer
          ...
          blabla = 0
          ...
      End Function

      Der Aufruf erfolgt so:

      Dim xyz as Integer
      xyz = blabla(3,5,7)

      Verzichtest Du auf den Rückgabewert:
      Call blabla(3,5,7)

      All das ist reine Spekulation, ausgehend von meinen VB-Kenntnissen.

      Gruss,

      Vinzenz

      1. Hi,

        In VB ist es so, dass bei einer Funktion blabla der Rückgabewert in der Variablen blabla stehen muss, die automatisch angelegt wird.

        ach so, die Variable stand _in_ der Funktion? Sorry, ich ziehe meinen Einwand zurück.

        Cheatah

        --
        X-Will-Answer-Email: No
        1. Hi, hallo

          er hatte vergessen,

          'end function'

          zu schreiben.

          Tschau, tschüß,
          Frank

      2. Hallo Tom,

        Hallo

        ich bin zwar kein ASP-Experte, aber...
        In VB ist es so, dass bei einer Funktion blabla der Rückgabewert in der Variablen blabla stehen muss, die automatisch angelegt wird.

        Ich nehme an, dass das Verhalten in VB-Script analog ist.

        Genau!

        Knackpunkt ist, Du rufst nicht die Funktion mit Parametern auf, sonder n Du erzeugst eine Rückgabe innerhalb der Funktion. Wenn diese Rückgabe einen bestimmten Datentyp haben soll, was fast immer besser ist, so muss die Funktion folgendermassen geschrieben werden:

        In VB ja, in VBScript/ASP gibt es nur variant und das muss im Gegensatz zu VB nicht explizit deklariert werden!!! Also:

        Function blabla(para1, para2, para3) As Integer

        Function blabla(para1, para2, para3)

        ...
            blabla = 0
            ...
        End Function

        Der Aufruf erfolgt so:

        Dim xyz as Integer

        Dim xyz

        xyz = blabla(3,5,7)

        Verzichtest Du auf den Rückgabewert:
        Call blabla(3,5,7)

        All das ist reine Spekulation, ausgehend von meinen VB-Kenntnissen.

        Alles andere ist vollkommen richtig und sollte funktionieren.
        Ich halte die Fehlermeldung für aussagekräftig (ausnahmsweise) und denke, dass mit Deinen Parametern was nicht stimmt. Tippfehler im Namen oder einen Parameter nicht deklariert/belegt?

        Gruß
        Susanne

  2. Hi, hallo

    schreib mal den Quellcode, wie du diese Funktion aufrufst

    evt. an verschiedenen stellen, die du irgendwann mal NUR TEILWEISE geändert hast.

    der Fehlercode sollte dir mitteilen, an welcher Stelle ein falscher Aufruf erfolgt. Ansonsten ist die Fehlermeldung doch logisch, sie gibt 2 mögliche an Gründe an.

    Falsche Anzahl an Argumenten - zb. eins vergessen, eins zu viel
    Ungültige Eigenschaftszuweisung - zb. einer Scalar-Variable wird ein Objekt zugewiesen ... oder andersherum

    Tschau, tschüß,
    Frank