---
title: "Scripting Dictionary"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/171178-scripting-dictionary"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "SoulGod"
published: "2008-04-30T16:12:31.000Z"
updated: "2008-05-01T22:39:35.000Z"
replies: 24
views: 1291
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/171178-scripting-dictionary"
---

# Scripting Dictionary

_Sida 1 av 2._

## #1 — SoulGod, 2008-04-30T16:12Z

Får upp detta fel i ett asp-script:

Ogiltig klassträng
/shoppen/shopheaders.asp, line 1382

Och koden som den klagar på är denna..

```
 private sub class_initialize()
      set include_vars = server.createobject("scripting.dictionary")
	  include_vars_count = 0
    end sub
```

Koden är scripting.dictionary som den klagar på.
Har förstått att dictionary är en array där man lagrar olika ord / saker i grupper , eller något liknande... (Suger på att förklara)

Dock - hur vet jag vad som ska sparas?
Scriptet är en webshop, och detta hoppar upp på första sidan man öppnar.

Vad ska jag göra? Eller rättare sagt, hur ska jag göra det för att få igång den?

Permalänk: https://www.webforum.nu/p/171178

## #2 — voigtann1, 2008-04-30T16:34Z

Har ingen aning om hur din klass ser ut men:

```
Class Test
	Dim include_vars
	private sub class_initialize()
      set include_vars = server.createobject("scripting.dictionary")
	  include_vars_count = 0
    end sub
	
	Public Sub t
		Response.Write TypeName(include_vars)
	End Sub
End Class

Dim t
set t = new test
t.t
```

Ger absolut inget fel. Ger mer kod.

Permalänk: https://www.webforum.nu/p/2104192

## #3 — SoulGod, 2008-04-30T16:38Z

Vet inte hur mycket kod du vill ha? 
1633 rader totalt..
Ger lite större omfång, så får du säga vad du / ni behöver.

```
 class cls_include

    private sub class_initialize()
      set include_vars = server.createobject("scripting.dictionary")
	  include_vars_count = 0
    end sub
    private sub class_deactivate()
      include_vars.removeall
      set include_vars = nothing
      set include = nothing
    end sub
```

Permalänk: https://www.webforum.nu/p/2104195

## #4 — voigtann1, 2008-04-30T16:44Z

Vet inte vad class_decativate är men det finns "Class_Terminate()" Som du vill nog använda istället för din egna sub "class_deactivate()" Men fortfarande, inget fel på den kod du har postat. Förutom att du inte ha variablerna include_vars och include_vars_count osv skapade i funktionen (dim eller Private)

Och include_vars_count behöver du inte då Scripting.Dictionary har .Count för att se hur många poster det finns i den.

```
Class cls_include
	Dim include_vars, include_vars_count
    Private Sub Class_Initialize()
      set include_vars = server.createobject("scripting.dictionary")
	  include_vars_count = 0
    End Sub
	
    Private sub Class_Terminate()
      include_vars.removeall
      Set include_vars = Nothing
      Set include = Nothing
    End Sub
End Class
```

 Inga fel.

Permalänk: https://www.webforum.nu/p/2104196

## #5 — SoulGod, 2008-04-30T16:47Z

<http://rafb.net/p/ELRMvC17.html>

Där har du hela koden (shopheaders.asp)

Permalänk: https://www.webforum.nu/p/2104197

## #6 — voigtann1, 2008-04-30T17:16Z

Hur skapar du din klass? Jag tog din klass (även om du borde nog kolla upp dina funktioner / subar. Men jag får inga problem när jag skapar klassen.

Permalänk: https://www.webforum.nu/p/2104202

## #7 — SoulGod, 2008-04-30T17:22Z

Scriptet är taget från nätet (gratis webshop),
så exakt uppbyggnad av koden är jag ej insatt i tyvärr.

Något jag ska titta efter, eller är det lättare att helt enkelt ta en annan webshop?

Ska göra en egen webshop, men sitter och pluggar asp.net / mysql ,
så är inte säker nog att göra den än, därför jag vill ha en gratisvariant.
(Vet det suger - men behöver ha igång en webshop fort)

Permalänk: https://www.webforum.nu/p/2104203

## #8 — voigtann1, 2008-04-30T17:38Z

Letar upp var koden körs som generera felet istället. För det är inget fel på klassen, provat köra "dyninclude" och generera inte något fel.

Permalänk: https://www.webforum.nu/p/2104207

## #9 — colione, 2008-04-30T17:54Z

Har du möjlighet att köra vanliga vbs-filer på servern/hur stor kontroll har du på servern?

Permalänk: https://www.webforum.nu/p/2104211

## #10 — SoulGod, 2008-04-30T18:11Z

Servern är en testburk jag har hemma, arbetsmaskin med WinXP / IIS6..
Så ingen värstingserver direkt, kan det vara det som felar?

Och nu till min mest korkade fråga hittils..
Vad ska jag leta efter - för att se vart den körs?

Jag försöker öppna shopadmin.asp , 
och den kör "include" på filen showheaders.asp där felet dyker upp.

Dock hittar jag ingenting i shopadmin som skulle "kalla" på den funktionen.
Antingen är jag blind - eller bara korkad

Permalänk: https://www.webforum.nu/p/2104224

## #11 — Troxy, 2008-04-30T19:26Z

Sök efter filen scrrun.dll på servern, den ligger vanligtvis i C:\\windows\\system32.
Om den inte finns så försök Googla fram en kopia eller hämta från en annan Windows-burk.
När filen är på plats, öppna en Command Prompt och skriv: regsvr32.dll "C:\\windows\\system32\\scrrun.dll".
Lycka till!

Permalänk: https://www.webforum.nu/p/2104249

## #12 — SoulGod, 2008-04-30T21:46Z

Filen fanns - men korrigeringen hjälpte inte.
Laddade även hem en ny sådan, och körde samma sak,
hjälpte inte det heller.

Permalänk: https://www.webforum.nu/p/2104282

## #13 — SoulGod, 2008-04-30T21:54Z

Nu när jag uppdaterade igen så kom först det vanliga felmeddelandet,
sen uppdaterade jag igen, då blev sidan vit?

Och nu är den vit hela tiden....

Permalänk: https://www.webforum.nu/p/2104284

## #14 — voigtann1, 2008-04-30T21:59Z

Vilken sida är "vit"? filen du visade med alla funktioner/sub/klasser?

Permalänk: https://www.webforum.nu/p/2104285

## #15 — SoulGod, 2008-04-30T22:18Z

shopadmin.asp - den filen jag försökt nått hela tiden..
Nu blev sidan helt vit.. hjälper inte att tömma cache / cookies heller...
Och kan ju för säkerhets skull påpeka att sidan inte ska vara tom heh

Du har hela shopheader.asp i den andra paste-länken jag skickade.
Sidan jag försöker nå är shopadmin.asp , och här har du hela koden för den.
<http://rafb.net/p/GUmvPu21.html>

Permalänk: https://www.webforum.nu/p/2104288

## #16 — Fredde Mannen, 2008-05-01T06:48Z

Har du prövat att skapa en simpel fil med scripting.dictionary, för att se om det kastas samma fel? I sådana fall ligger felet inte i koden, och då slipper du bängla på med den, utan då får vi felsöka på annat håll istället. 

simpel.asp

```
<%
 Set d = Server.CreateObject("Scripting.Dictionary")
 d.Add "re","Red"
 d.Add "gr","Green"
 d.Add "bl","Blue"
 d.Add "pi","Pink"
 
 Response.Write("Värdet på item gr är: " & d.Item("gr"))
%>
```

Permalänk: https://www.webforum.nu/p/2104303

## #17 — SoulGod, 2008-05-01T07:36Z

Serverobjekt, ASP 0177 (0x800401F3)
Ogiltig klassträng
/simpel.asp, line 2

Även där på simpel.asp .. :(

Permalänk: https://www.webforum.nu/p/2104307

## #18 — SoulGod, 2008-05-01T07:40Z

Verkar som jag saknar någon Scripting-komponent, 
för ett annat av mina script som använder koden:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
funkar inte heller... 

Fortfarande samma fel "Ogiltig klassträng"

Så frågan - vad är fel? :(

Permalänk: https://www.webforum.nu/p/2104308

## #19 — Fredde Mannen, 2008-05-01T07:49Z

Det är väl egentligen en av de få sakerna jag hittat som har löst problemet:

> Error Type: Server object, ASP 0177 (0x800401F3)
> Invalid class string 
> 
> Run Regedit then go to 
> 
> 1\. KEY_LOCAL_MACHINE/Software/Classes/CLASS_NAME
> (Keep in mind that CLASS_NAME will be replaced with the class name you are trying to instantiate)
> Right click on it and then Permissions. Allow Full Access for SYSTEM and Administrator. (To be sure it works I've added "CREATOR OWNER" and "Users" users and allow Full Access to those too)
> 
> 2\. KEY_LOCAL_MACHINE/Software/Classes/CLASS_NAME has a folder called CLASSID under it. Click on it and on the right side will appear the code of the class. This code you will type it in place of CLASS_ID in the following step
> 
> 3\. Go to HKEY_LOCAL_MACHINE/Software/Classes/CLSID/{CLASS_ID} and add the same permissions as in the step 1. Restart the computer and try run the script (It worked for me)
> 
> Good luck.
> Andras

Men mixtrande via regedit är på eget ansvar. ;)

Sen kan vi ju alltid test och se om detta är ett IIS problem, eller om det är ett problem för "datorn". 

Öppna notepad skriv in 

```
Set o = CreateObject("Scripting.Dictionary") 
MsgBox "Fungerar!"
```

Spara filen som testa.vbs, dubbelklicka på den sedan, då skall de komma upp en liten box med texten: Fungerar!

Då vet vi att den finns och fungerar i alla fall..

Permalänk: https://www.webforum.nu/p/2104309

## #20 — Fredde Mannen, 2008-05-01T07:51Z

Btw. kolla också om du har "anonymous access enabled", anonym åtkomst igång för siten, om så är fallet.. så kan det generera felet.

Permalänk: https://www.webforum.nu/p/2104310

---

Tråden på webben: https://www.webforum.nu/amne/asp/171178-scripting-dictionary  
Nästa sida: https://www.webforum.nu/amne/asp/171178-scripting-dictionary/page2.md
