Avatar billede madsnb Nybegynder
13. januar 2006 - 23:45 Der er 13 kommentarer og
1 løsning

Microsoft VBScript runtime error '800a01a8'

Vil lige gøre det klart at jeg ikke roder med hjemmesider normalt, men sidder lige fast her..

Jeg skal i forbindelse med et billedgalleri undersøge om der ligger en thumb.jpg i hver profil mappe. Hvis der gør skal den vises og ellers skal der stå intet billede.

Mit problem er hvordan jeg får den til at se om filen ligger i mappen!?!?!?

Har følgende kode:

        if "billeder/" & rs("ID") & "/thumb.jpg" is TRUE then
            sCelle = sCelle & "<a href=""showprofile.asp?profile=" & rs("ID") & """><img src=""billeder/" & rs("ID") & "/" & rs2("Imagename") & """ height=""" & portrait_y & """ width=""" & portrait_x & """></a>" & vbcrlf
        else
            sCelle = sCelle & "<a href=""showprofile.asp?profile=" & rs("ID") & """><font color=""black"" size=""2"" face=""Agency FB""><b>Intet billede</b></font></a>" & vbcrlf
        end if
Avatar billede madsnb Nybegynder
13. januar 2006 - 23:47 #1
Æv det ser jo grimt ud :-(

if "billeder/" & rs("ID") & "/thumb.jpg" = thumb.jpg then

Men den der sætning er jo sådan ser den vigtige.. Det andet er ligegyldigt for jer...

Håber det er den rigtige kategori! Eller skulle den under vbscript..? :-(
Avatar billede madsnb Nybegynder
13. januar 2006 - 23:47 #2
if "billeder/" & rs("ID") & "/thumb.jpg" is TRUE then <<<--- Sådan der! Skrev lige forkert før hehe
Avatar billede madsnb Nybegynder
14. januar 2006 - 00:46 #3
Har prøvet at indsætte følgende funktion:

<%
Function CFE(sFileName)

Dim FileSystemObject

Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject")

If (FileSystemObject.FileExists(sFileName)) Then
CFE = True
Else
CFE = False
End If

Set FileSystemObject = Nothing

End Function
%>

Og så prøve med

If CFE("Default.asp") Then

Men dette virker heller ikke.. Er det så fordi serveren ikke understøtter ASP eller hvordan?
Avatar billede softspot Forsker
14. januar 2006 - 18:41 #4
Prøv at vise hele den side du forsøger at udføre (hvis altså ikke den er alt for lang).

Jeg tror din server understøtter ASP, da du jo får en VBScript-fejl (hvilket må betyde at den er ifærd med at fortolke noget script). Du kan teste om din server understøtter ASP ved at oprette en fil med extension .asp og lægge denne kode i filen:

<%="ASP er understøttet"%>

og så kalde den side i din browser (via domænet - dette gælder også hvis du kører lokalt, dvs. f.eks. localhost/side.asp). Hvis siden jeg illustrerede ovenfor blot viser teksten ASP er understøttet, så er ASP aktiveret, men hvis den skriver <%="ASP er understøttet"%>, så er ASP nok ikke installeret eller aktiveret...
Avatar billede madsnb Nybegynder
14. januar 2006 - 18:46 #5
Tester lige... Tror min side er for lang! Men kan jeg maile den til dig eller noget..?
Avatar billede madsnb Nybegynder
14. januar 2006 - 18:47 #6
Og asp er understøtter kan jeg se..
Avatar billede softspot Forsker
14. januar 2006 - 18:48 #7
Send den til twiceman(a)hotmail.com
Avatar billede madsnb Nybegynder
14. januar 2006 - 19:08 #8
Måske kan den hjælp jeg har fået på servguider være med til at øge forståelsen af hvad jeg prøver at gøre...

http://www.serverguider.dk/Debat1676.html

Skal nok give flere points hvis det er problematisk :-) Troede det bare var til højrebenet...
Avatar billede softspot Forsker
14. januar 2006 - 19:56 #9
Du skal måske sikre dig at der ikke sker en fejl i dit check af om filen eksisterer. Jeg kunne forestille mig at du vil få en fejl hvis du f.eks. har et tomt ID i rs("ID") (da stien så ville indeholde dobbeltslash: billeder//thumb.jpg)

Prøv at lave din CFE-funktion således:

Function CFE(sFileName)
  Dim FileSystemObject

  Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject")
  CFE = False
  On Error Resume Next
  CFE = FileSystemObject.FileExists(sFileName)
  If err.number <> 0 then
    Response.Write "FEJL: " & err.number & " / " & err.description & "<br>"
    err.clear
  End If
  On Error Goto 0
  Set FileSystemObject = Nothing
End Function

Det burde i det mindste give dig en beskrivelse af hvad der sker i det øjeblik du forsøger at undersøge om stien findes (jeg gør den antagelse at det er der fejlen reelt set sker)...
Avatar billede softspot Forsker
14. januar 2006 - 20:45 #10
Tror jeg har fundet fejlen. Filen kan ikke findes fordi FileExists arbejder med absolutte stinavne og du angiver relative stinavne. Derfor tror jeg du er nød til at benytte Server.MapPath til at omsætte stien til en absolut/lokal sti. Det kan du f.eks. gøres således (jeg ved det ikke er smukt, men det illustrerer da idéen):

Function CFE(sFileName)
  Dim FileSystemObject

  Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject")

  CFE = FileSystemObject.FileExists(Server.MapPath(sFileName))

  Set FileSystemObject = Nothing
End Function
Avatar billede madsnb Nybegynder
15. januar 2006 - 01:21 #11
Spørgsmålet er så hvor hurtigt du kan ændre det der til et svar ;-)

Tusinde tak
Avatar billede softspot Forsker
15. januar 2006 - 09:36 #12
Velbekomme :D
Avatar billede softspot Forsker
15. januar 2006 - 19:02 #13
Tak for point :)
Avatar billede madsnb Nybegynder
15. januar 2006 - 19:05 #14
Tak for svar :)
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