functions.asp indeholder ----- <% Public Sub openDB() If Not IsObject(objConn) Then Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "min connection string" End If End Sub
Function getBlogs() call openDB() set rs = objConn.Execute("SELECT ...") End Function %> -----
Når jeg så kører min default.asp så får jeg denne fejl:
Microsoft VBScript runtime error '800a01a8' Object required: 'objConn' /functions.asp, line 16
og min linie 16 indeholder:
set rs = objConn.Execute("SELECT ...")
så det er som om den slet ikke opfatter sub'en... Hvad gør jeg galt her?
Public Sub openDB() If Not IsObject(objConn) Then Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "min connection string" End If End Sub
Function getBlogs() call openDB() set rs = objConn.Execute("SELECT ...") End Function %>
fennec >> "Hvis du slet ikke har <% Option Explicit %> med på din side, tilhører variabler kun lokalt i funktionerne.". Jeg er ikke enig i din definition, da option explicit blot kræver at du erklærer dine vaiable inden du kan bruge dem. Det tvinger dig så til at tage stilling til hvor de skal erklæres, men det kan også være fint nok at erklære dem lokalt i funktionen... :)
softspot >> Det har du ret i, men folk som ikke har Option Explicit med, dim'er generelt ikke deres variabler, og derfor bliver de lokale (som i dette tilfælde). Man kan selvfølgelig stadig overstyre det ver at erklære dem. I sidste sende anbefaler jeg stadig at have Option Explicit, da den fanger problemer som disse, samt stavefejl osv...
fennec >> Jeg er slet ikke uenig i at man bør benytte option explicit (ud over dine gode argumenter, giver det også en bedre performance), det var bare din definition jeg ikke kunne forliges med :)
softspot >> Det var også en generalisering over for folk, som ikke bruger Option Explicit, og derfor præget heraf. Definitionen er derfor også misvisende. Men vi er enige :o)
fennec >> Det mente jeg også nok vi var - det plejer vi jo at være :)
Synes godt om
Ny brugerNybegynder
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.