Avatar billede snie97 Nybegynder
12. november 2004 - 10:58 Der er 12 kommentarer og
2 løsninger

Syntax fejl i funktion

Hej...

Jeg får en syntax fejl i denne funktion:

        Function visTimer(dbInput, fName)
            If editable = "ja" Then
                visTimer = "<input type=""text"" size=""2"" name=""" & fName & """ value=""" & dbInput & """>"
            Else
                visTimer = dbInput
            End If
        End Function

Fejlen kommer på linje 67, som er den linje hvor funktionen starter (Function visTimer...)

Hvad kan det være? Er det fordi etibale skal globaliseres (som i PHP) og hvordan gør man det...
Avatar billede snie97 Nybegynder
12. november 2004 - 10:59 #1
"Er det fordi etibale skal globaliseres "

Her menes selvfølgelig editable :)
Avatar billede fennec Nybegynder
12. november 2004 - 11:10 #2
Som det ser ud her, er editable global. Hvis du dim(er) en variabel uden for en funktion er den global, og kan tilgåes i alle funktioner. Hvis du dim(er) den i en funktion er den intern, og kan ikke tilgåes fra andre funktioner.

eks:

dim editable <-- global variabel
editable = "ja"
Function visTimer(dbInput, fName)
dim enAndenVar <-- intern variabel
  If editable = "ja" Then
    visTimer = "<input type=""text"" size=""2"" name=""" & fName & """ value=""" & dbInput & """>"
  Else
    visTimer = dbInput
  End If
End Function

Hvad med dbInput og fName. Har du globale variabler, som hedder det samme?
Avatar billede snie97 Nybegynder
12. november 2004 - 11:16 #3
Jeg Dim'er som regel ikke variabler, da jeg synes det er spild af plads :) (Måske også fordi jeg startede med at programmere i PHP, hvor man ikke skal dimensionere sine variabler først...)

Jeg prøver lige at Dim'e variablen...
Avatar billede snie97 Nybegynder
12. november 2004 - 11:17 #4
Det hjalp ikke... Fejlen er bare blevet rykket en linje længere ned, og er altså stadigvæk på linjen med Function visTimer...
Avatar billede fennec Nybegynder
12. november 2004 - 11:21 #5
... Hvad med dbInput og fName. Har du variabler, som hedder det samme andet sted i koden?

Får du ikke mere end en syntax fejl?? Siger den intet om hvad fejlen går ud på?
Avatar billede snie97 Nybegynder
12. november 2004 - 11:25 #6
Her er fejlen jeg får:

Error Type:
Microsoft VBScript compilation (0x800A03EA)
Syntax error
/opgaver/visopg.asp, line 68

dbInput og fName er jo de variable man starter funktionen med, så den har noget at arbejde med...

fx. sådan her:
visTimer(rapRs("maFakTimer"), "maFakTimer")
Avatar billede fennec Nybegynder
12. november 2004 - 11:32 #7
Det er jeg med på, men derfor kan du jo godt have andre variabelnavne, der hedder det samme.

dim dbInput, fName
...
Function visTimer(dbInput, fName)
...
End Function
...
dbInput = "et eller andet"
fName = "noget andet"
resultat = visTimer(rapRs("maFakTimer"), "maFakTimer")

Jeg har aldrig prøvet denne problemstilling (da jeg altid har unikke navne), så jeg ved ikke, om det måske kan være derfor.
Avatar billede snie97 Nybegynder
12. november 2004 - 11:32 #8
Jeg har ikke brugt dbInput og fName andre steder...
Avatar billede fennec Nybegynder
12. november 2004 - 11:41 #9
Du har ikke en funktion uden om??

Jeg prøvede lige din kode, og der var ingen fejl, så smed jeg en funktion uden om og fik fejlen. Kan du evt smide din kode herind, hvis det heller ikke er det, der er problemet.
Avatar billede snie97 Nybegynder
12. november 2004 - 11:48 #10
Den lå i en løkke, men jeg har nu flyttet den ud, og skidtet virker :)
Avatar billede fennec Nybegynder
12. november 2004 - 11:52 #11
Ja, det vil sikkert også fremkalde den fejl :o)
Avatar billede snie97 Nybegynder
12. november 2004 - 11:53 #12
vil du have points?
Avatar billede fennec Nybegynder
12. november 2004 - 11:56 #13
Skal vi ikke dele så, men kun hvis det var fordi jeg fik dig sporet ind på løsningen, ellers tager du dem bare selv.
.o) <-- One Eyed Jack
Avatar billede snie97 Nybegynder
12. november 2004 - 12:41 #14
ok, så deler vi...
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