20. juli 2010 - 01:14
Der er
11 kommentarer og 1 løsning
Functions navn gemt i variabel??
kan man kalde en function ud fra en variabel? feks. varFunc = FindNavn call varFunc() 'skulle nu køre functionen FindNAvn
Annonceindlæg fra COMM2IG
Eksempel: <% Function FindNavne() Response.Write "Det virker" End Function Set varFunc = GetRef("FindNavne") Call varFunc %>
... GetRef er også en kandidat
Du kan også prøve med noget OOP og lave en Class med din funktion som Public Function. Så kan du instantiere Objektet i et valgfrit variabelnavn?
01. august 2010 - 22:38
#5
Jeg har siddet og rodet lidt med det her problem uden at have løst det. Lige lidt mere beskrivelse: jeg har omkring 50 funktioner på en side. Det er kun en af dem der skal køres. Hvilken en bestemmes ud fra url'en minSide.asp?func=funcNr34 Ud fra dette her, skal den køre functionen med navnet funcNr34 Kan I give et eksempel på hvordan det kan gøres?
01. august 2010 - 22:47
#6
prøv: Set varFunc = GetRef(Request("func")) Call varFunc
07. august 2010 - 22:36
#7
Så kom der lige en ny dimission på problemet, jeg bliver nødt til at have en parentes med i functionen. Jeg har nu prøvet at skrue det sammen sådan her, men det virker desværre ikke. if request("opg") = "plus1" then Set varFunc = GetRef("FuncPlus1(opgave, resultat, FTal, ATal)") end if Call varFunc Hvordan får jeg dette til at virke?
08. august 2010 - 03:16
#8
Du skal ikke angive args i getref men kun i kald. Eksempel: <% Function FindNavne(s) Response.Write "Det virker med " & s End Function Set varFunc = GetRef("FindNavne") Call varFunc("ABC") %>
08. august 2010 - 15:22
#9
Her når jeg sidder og arbejder lidt med det, kan jeg se det ender med at de forskellige functioner får nogle forskellige args. Her er et lille udpluk af de forskellige functioner, hvoraf der KUN er en der skal kaldes, og det bestemmes ud fra URL'en f.eks. minSide.asp?func=FuncPlus5 call FuncPlus1(opgave,resultat,FTal,ATal) call FuncPlus5(opgave,resultat,FTal,ATal,TTal) call brok3(opgave,resultat,hel1,Taeller1,Naevner1,hel2,Taeller2,Naevner2) call FuncKurs2(opgave,resultat,Land,Kurs,FTal) Er der ikke en smart måde, hvor jeg gør sådan, at hver gang jeg kalder en function er det den der er defineret i url'en? Eller bliver jeg nødt til at bygge mit Call op i en række if sætninger?
08. august 2010 - 20:49
#10
Hvis du vil bruge getref til at skå navnet op skal du have en wrapper uden argumenter. Funcrtion FP1() call FuncPlus1(opgave,resultat,FTal,ATal) End Function og så sende FP1 med over og kalde den.
08. august 2010 - 21:21
#11
Yes, nu virker det. Mange tak for hjælpen, og din tålmodighed ;-) Arne_v opret bare et svar
08. august 2010 - 21:33
#12
svar
Kurser inden for grundlæggende programmering