Comment vider un Dictionary contenant lui même des Dictionary ?
Bonjour,
Je voudrais savoir comment vider correctement la mémoire après avoir utilisé un objet de type Dictionary, contenant lui-même des objets de type Dictionary. Grossièrement, j'ai déclaré mes variables de cette manière :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| ' Declaration et initialisation
Dim list As Object: Set list = CreateObject("Scripting.Dictionary")
Dim sublist1 As Object: Set sublist1 = CreateObject("Scripting.Dictionary")
Dim sublist2 As Object: Set sublist2 = CreateObject("Scripting.Dictionary")
Dim sublist3 As Object: Set sublist3 = CreateObject("Scripting.Dictionary")
' Ajout dans la sous liste 1
sublist1.Add "Name", "Module 1"
sublist1.Add "Optional", False
' Ajout dans la sous liste 2
sublist2.Add "Name", "Module 2"
sublist2.Add "Optional", True
' Ajout dans la sous liste 3
sublist3.Add "Name", "Module 3"
sublist3.Add "Optional", False
' Ajout des sous listes dans la liste principale
list.Add "Mod1", sublist1
list.Add "Mod2", sublist2
list.Add "Mod3", sublist3 |
A la fin du traitement, je ne sais pas s'il suffit de vider la liste principale : ou bien de vider aussi les sous listes :
Code:
1 2 3 4
| Set sublist1 = Nothing
Set sublist2 = Nothing
Set sublist3 = Nothing
Set list = Nothing |
ou encore de vider les sous listes et en plus les éléments de la liste principale :
Code:
1 2 3 4 5 6 7
| Set sublist1 = Nothing
Set sublist2 = Nothing
Set sublist3 = Nothing
For Each key In list
list.Item(key) = Nothing
Next
Set list = Nothing |