15. februar 2005 - 12:41
Der er
8 kommentarer og 1 løsning
Applikationsvariabel og to-dimensionelt array
Er det muligt at anvende en applikationsvariabel som et to-dimensionelt array uden først at erklære en lokal variabel? Dim Arr(3, 2) Arr(0, 1) = "bumbum" Redim Preserve Arr(3, 7) Arr(2, 4) = "blabla" Application("Test") = Arr Ovenstående virker, men jeg vil gerne benytte Application("Test") i stedet for Arr. Ellers skal jeg køre en løkke med en masse assignments, når jeg skal have Application("Test") overført til Arr igen. Kan det lade sig gøre?
Annonceindlæg fra Netic
15. februar 2005 - 14:03
#1
Kort fortalt ja! Du laver et array, og du siger Application("Test") = myArray Derefter kan du vælge at bruge Applicationvariablen direkte: Response.Write(Application("Test")(0, 1)) eller hente den over i en lokal variabel myArray = Application("Test") Det er enkelt og det virker
15. februar 2005 - 15:41
#2
Ja, øverste assignment fungerer fint, men jeg kan ikke gøre det den anden vej. Det giver en type mismatch (også selvom jeg allokerer plads først): Dim Arr() Redim Arr(UBound(Application("test"), 1), UBound(Application("test"), 2)) Arr = Application("Test") Jeg kan heller ikke tildele værdier til variablen direkte. Det giver ingen fejl, men værdien bliver simpelthen ikke gemt i arrayet: Application("Test")(0, 1) = "blabla"
15. februar 2005 - 15:47
#3
Jeg tjekker naturligvis, at Application("test") faktisk er et array, inden jeg assigner. If IsArray(Application("test")) ......
16. februar 2005 - 12:11
#4
Er det en Win 2000 eller Win 2003 server?
16. februar 2005 - 16:06
#5
2K - men nu har jeg fundet ud af noget af det. Følgende fungerer som sagt ikke: Dim Arr() Redim Arr(UBound(Application("test"), 1), UBound(Application("test"), 2)) Arr = Application("Test") Men det gør dette: Dim Arr Arr = Application("Test") Dog ved jeg stadig ikke, hvorfor man ikke kan assigne direkte til a-variablen: Dim Arr(0, 1) Application("Test")(0, 1) = "blabla" Response.Write Application("Test")(0, 1)
16. februar 2005 - 16:10
#6
Sidste tre linier skulle selvfølgelig have set sådan ud: Dim Arr(0, 1) Application("Test") = Arr Application("Test")(0, 1) = "blabla" Response.Write Application("Test")(0, 1)
10. marts 2005 - 11:55
#7
Nå, det fandt jeg aldrig ud af, men det gør ikke så meget alligevel. VIl du have points?
14. marts 2005 - 12:48
#8
Næ, jeg fulgte den jo ikke rigtig til dørs ...
14. marts 2005 - 15:31
#9
Ok. Men tak for indsatsen.
Kurser inden for grundlæggende programmering