Avatar billede krogstrup Nybegynder
07. juli 2002 - 14:56 Der er 7 kommentarer og
1 løsning

HJÆÆÆLP - Jeg har set mig fuldstændig blind på denne....!

Jeg har en function der ser således ud:

function showLocation(pageID)
    pageID = int(pageID)
   
    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT * FROM pages WHERE languageID = " & lID
    rs.Open strSQL, strDSN, 1, 1

    for i = 1 to 3
        if pageID <> 0 and pageID <> "" then
            do while rs("ID") <> pageID
                rs.MoveNext
            loop
            execute "name" & i & " = rs(""name"")"
            execute "name" & i & " = ""<a href='content.asp?ID=" & rs("ID") & "' target='_self' class='locationText'>"" & name" & i & " & ""</a>""" & " & "" > """
            pageID = rs("parent")
            rs.MoveFirst
        end if
    next

    rs.Close
    Set rs = Nothing

    showLocation = name3 & name2 & name1
    showLocation = left(showLocation,len(showLocation)-3)
end function



Og så har jeg content.asp hvor følgende kode findes:

<% ID = 1 %>

<%=ID%>

<%=showLocation(ID)%>

<%=ID%>


Her kommer det tricky:
Når ID udskrives INDEN min funktion kaldes udskrives der helt korrekt "1", MEN når ID udskrives EFTER at funktionen er kaldt, får jeg pludselig "0"

Min funktion ændrer eller sletter altså min variabel ID - HVORFOR ????
Avatar billede a1a1 Novice
07. juli 2002 - 15:14 #1
prøv med...

function showLocation(ByVal pageID)
Avatar billede krogstrup Nybegynder
07. juli 2002 - 15:16 #2
hvad betyder ByVal ?
Avatar billede krogstrup Nybegynder
07. juli 2002 - 15:18 #3
Det virker !!!

Tak :-)

Men jeg vil stadig MEGET gerne vide hvad "ByVal" betyder ?
Avatar billede a1a1 Novice
07. juli 2002 - 15:18 #4
at den overfører VÆRDIEN af variablen til funktionen
ByRef er at overføre VARIABLEN til en funktion (som man så kan ændre i funktionen), og jeg mener at byref er default...
Avatar billede a1a1 Novice
07. juli 2002 - 15:19 #5
vb skrift hjælp siger...

by reference

A way of passing the address, rather than the value, of an argument to a procedure. This allows the procedure to access the actual variable. As a result, the variable's actual value can be changed by the procedure to which it is passed.

by value

A way of passing the value, rather than the address, of an argument to a procedure. This allows the procedure to access a copy of the variable. As a result, the variable's actual value can't be changed by the procedure to which it is passed.
Avatar billede krogstrup Nybegynder
07. juli 2002 - 15:19 #6
ok, så når ByRef bruges - nulstilles alle variabler jeg sender til funktionen faktisk bagefter ???
Avatar billede a1a1 Novice
07. juli 2002 - 15:45 #7
nej du tildeler den selv en værdi..

pageID = rs("parent")

pageID er den variabel du "sender" til funktionen
showlocation(ID)
ID er så i funktionen den samme som pageID og du ændre værdien af den....:)
Avatar billede krogstrup Nybegynder
07. juli 2002 - 15:52 #8
aaah - så faldt tiøren...

takker for forklaringen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester