Probleme bei funktionen mit mehreren Parameter.
tom
- asp.net
0 Cheatah0 Frank aus Ulm
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
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.
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
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
Hi, hallo
er hatte vergessen,
'end function'
zu schreiben.
Tschau, tschüß,
Frank
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 FunctionDer 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
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