webForumDet fria alternativet

Det går inte att använda parenteser när en Sub anropas

ASP

3 svar · 465 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Nedanstående kod fungerar utmärkt när jag inte skickar med arrayen till funtionen (och givetvis tar bort det argumentet från funktionen). Vad har jag missat? Kan man inte skicka arrayer som argument till ett objekts metoder?

Class FooBar
	Public Function Foo(stringfoo, arrayfoo)
		Foo = stringfoo & arrayfoo(0)
	End Function
End Class

Dim arrTest(2)
arrTest(0) = 1
arrTest(1) = 2

Set objTest = New FooBar
[b]objTest.Foo("'abc','def'", arrTest)[/b]
Set objTest = Nothing

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0414)
Det går inte att använda parenteser när en Sub anropas.
/admin/users/test.asp, line 13, column 35
objTest.Foo("'abc','def'", arrTest)
----------------------------------^

Medlem sedan juni 200032 967 inlägg
#2

Antingen:

call objTest.Foo("'abc','def'", arrTest)

eller

objTest.Foo "'abc','def'", arrTest

borde funka.

r:/ Jag vet dock ingenting om hur klasser fungerar i asp, så det kan ju vara lite skillnad förstås...

Mvh,

Medlem sedan mars 20002 836 inlägg
#3

eftersom det metoden är en Funktion och vill returnera ett värde så ska det skrivas så här:

strFoo = objTest.Foo("'abd','def'",arrTest)

MEN, en funktion kan oxå anropas som en sub, om man ej behöver ha ett returvärde utan bara vill att den ska utföra det som funktionen(metoden) ska göra:

'## -- med parenteser --
Call objTest.Foo("'abd','def'",arrTest)

'## -- eller utan parenteser --
objTest.Foo "'abd','def'", arrTest

cya,
PatrikB

Medlem sedan apr. 20012 427 inlägg
#4

PatrikB skrev:

MEN, en funktion kan oxå anropas som en sub, om man ej behöver ha ett returvärde utan bara vill att den ska utföra det som funktionen(metoden) ska göra:

Tack ska du ha! Nu förstår jag hur det hänger ihop. :)

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)