Hvis jeg ikke definer noget, altså som i ovenstående så får jeg følgende besked: Microsoft VBScript compilation error '800a01f4' Variable is undefined: 'TabelTop'
Hvis jeg så tilføjer en 'dim TabelTop' som det første på min side så får jeg nu følgende: Microsoft VBScript compilation error '800a0411' Name redefined dim TabelTop ----^
Jeg kan ikke lige se hvad jeg ellers kan gøre for at definer variablen. Det skal nævnes at min side bliver inkluderet på en anden side, hvor jeg så trækker på variablen fra. Men jeg har ikke defineret en variabel med navn TabelTop på nogen af mine andre sider. Er der nogen der kan hjælpe?
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
softspot> Jeg bruger altid Option Explicit - det er en super god ide af så mange forskellige årsager.
tblaster> Det burde kun være nødvendigt at bruge dim. Redim er mere beregnet på at ændre størrelsen af en allerede dim'et variabel. Som udgangspunkt skal en variabel dim'es før at den bruges første gang.
ja og det er jo derfor at jeg prøver at dimme den. Men det er jo lidt underligt at jeg skal dimme den på en anden side som så inkluder den pågældende side.
rooolig nu... det var såmænd det lidt generaliserende udsagn: "Hvis du bruger en variabel på tvæs af flere sider (som f.eks. når du includer) så skal den dim'es." jeg var lidt ude efter, ikke hvorvidt du skulle dimensionere eller ej. Jeg er såmænd også tilhænger af Option Explicit og dimensionering af variable inden man kaster sig over brugen af dem (det andet kræver jo disciplin ;)).
Umiddelbart vil jeg jo anbefale, at du erklærer variablen der hvor den opstår, dvs. der hvor den får sin værdi, for det er jo stedet hvor den starter sit liv. Så burde du ikke få dette problem, med mindre du inkluderer siden hvor den opstår EFTER du prøver at aflæse den. Ud over det så skal den naturligvis erklæres globalt (altså ikke i en funktion), for ellers vil den jo kun eksistere i funktionens scope og forsvinde når funktionen slutter.
Hvis du kunne prøve at skitsere strukturen af din kode lidt mere udførligt, ville det være lettere at se hvor fejlen evt. kunne opstå, for jeg er overbevist om at det har noget med sekvens og struktur at gøre, men altså svært at gennemskue med det materiale vi har set indtil videre...
Ja, jeg har godt lagt mærke til at folk bruger det tegn lidt "skødesløst" af og til - det har karakter af udråb (sjovt nok ret sammenfaldende med navnet af tegnet :)).
Men hey! Det kan da godt være jeg lægger for meget betydning i det... skal se om jeg kan skrue ned for min opfattelse af udråbstegn :)
Ikke andet end at jeg kan løse det hele ved at lave alle min dim'er på den side hvor jeg inkluder den nævnte kode. Det er jo ikke den mest optimale løsning men kan ikke få den til at lade mig lave en dim på siden på andre måder.
Kan da prøve. Jeg har en side index.asp hvor jeg inkluder en side jeg kalder for design.asp. Design.asp indeholder den stump kode jeg har vist øverst på siden og det er på denne side at jeg ikke kan lave en dim. Jeg kan tilgengæld godt lave en dim lige inden jeg inkluder design.asp på min index.asp side.
Giver det et størrere overblik, ellers må du spørge lidt mere precist til hvad du vil høre omkring strukturen.
index.asp: ---------- <%@ language="VBscript" %> <% Option Explicit %> <!-- #include file="design.asp" --> <html> <head>...</head> <body> kald noget kode som er defineret i design.asp, f.eks. en variabel med noget prægenereret html... <%=TabelTop%> <tr><td>bla</td><td>blaaah</td></tr> <tr><td>bla</td><td>blaaah</td></tr> <tr><td>bla</td><td>blaaah</td></tr> <%=TabelBund%> </body> </html>
design.asp: -----------
<% Dim TabelTop Dim TabelBund TabelTop = "<table align=""center"" border=""0"" cellspacing=""0"" cellpadding=""0"">" TabelBund = "</table>" %>
og det fungerer så ikke, eller har jeg misforstået noget...?
Hmmm... meeeeeget mystisk! Og din include står helt i top i index.asp lige efter option explicit?
Hvis du har lyst kan du prøve at paste scriptkoden af dine sider ind, det kan være der er en lille finurlig fejl som vi ikke finder hvis vi bare snakker form på dette abstrakte niveau...
OK, men hvis du ikke fik svar på dit spørgsmål, så synes jeg du skal tage dem tilbage... :)
I øvrigt så skal der vel ikke være en <tr> i design.asp
TabelTop = "<table width=""100%"">" DEN DER ===> TabelTop = TabelTop & "<tr>"
hvis index.asp har dette format (for så er der jo to <tr> i starten af tabellen):
index.asp: ---------- <%@ language="VBscript" %> <% Option Explicit %> <!-- #include file="design.asp" --> <html> <head>...</head> <body> kald noget kode som er defineret i design.asp, f.eks. en variabel med noget prægenereret html... <%=TabelTop%> <tr><td>bla</td><td>blaaah</td></tr> <tr><td>bla</td><td>blaaah</td></tr> <tr><td>bla</td><td>blaaah</td></tr> <%=TabelBund%> </body> </html>
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.