Ik heb een probleem met de remove function in Scripting.Dictionary object.
Als ik de remove functie aanroep dan word dat het element niet verwijderd, maar gewist. Ik heb mijn probleem tot de volgende code weten terug te brengen:
Dim Namen
Dim t
Set Namen=CreateObject("Scripting.Dictionary")
Namen.Add "Naam_0", "Jan"
Namen.Add "Naam_1", "Joop"
Namen.Add "Naam_2", "Piet"
Namen.Add "Naam_3", "Klaas"
Namen.Remove("Naam_1")
For t = 0 to Namen.Count -1
Response.Write "Naam (" & t & "): " & Namen.Item("Naam_" & CStr(t)) & "<br>"
Next
Als output krijg ik dan:
Naam (0): Jan
Naam (1):
Naam (2): Piet
terwijl het gewenste resultaat natuurlijk is:
Naam (0): Jan
Naam (1): Piet
Naam (2): Klaas
Heeft iemand een idee wat ik fout doe, of is dit nu eenmaal de werking van dit opject. Als dat het geval is er dan iemand die een ander object weet met dezelf functionaliteit die it wel doet.
Als ik de remove functie aanroep dan word dat het element niet verwijderd, maar gewist. Ik heb mijn probleem tot de volgende code weten terug te brengen:
Dim Namen
Dim t
Set Namen=CreateObject("Scripting.Dictionary")
Namen.Add "Naam_0", "Jan"
Namen.Add "Naam_1", "Joop"
Namen.Add "Naam_2", "Piet"
Namen.Add "Naam_3", "Klaas"
Namen.Remove("Naam_1")
For t = 0 to Namen.Count -1
Response.Write "Naam (" & t & "): " & Namen.Item("Naam_" & CStr(t)) & "<br>"
Next
Als output krijg ik dan:
Naam (0): Jan
Naam (1):
Naam (2): Piet
terwijl het gewenste resultaat natuurlijk is:
Naam (0): Jan
Naam (1): Piet
Naam (2): Klaas
Heeft iemand een idee wat ik fout doe, of is dit nu eenmaal de werking van dit opject. Als dat het geval is er dan iemand die een ander object weet met dezelf functionaliteit die it wel doet.
Programming is like having sex: One little mistake and you have to support it for the rest of your life.