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,
3 svar · 465 visningar · startad av Skarre
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)
----------------------------------^
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,
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
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. :)