IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Comment vider un Dictionary contenant lui même des Dictionary ?


Sujet :

VBScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Points : 83
    Points
    83
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 294
    Points : 3 544
    Points
    3 544
    Par défaut
    bonjour,
    vbs possède un gc qui libère automatiquement la mémoire.
    le + souvent, la libération manuelle ne sert pas à grand chose sauf à conserver de bonnes habitudes lorsqu'on passe à des langages
    où tout doit être fait à la mimine
    un peu de lecture
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2000] Créer un fichier à partir d'une macro contenant lui même une macro
    Par nicogau18 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/07/2010, 17h05
  2. Sauver List<objet> contenant lui meme des list<objet>
    Par alloa28 dans le forum Schéma
    Réponses: 3
    Dernier message: 19/06/2010, 10h51
  3. Comment protéger un dossier contenant des images ?
    Par guy777 dans le forum Sécurité
    Réponses: 12
    Dernier message: 17/06/2006, 23h42
  4. Comment déployer une appli contenant des TClientDataSet ?
    Par jobigoud dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/10/2005, 20h18
  5. Comment vider la pile des Messages ?
    Par monnoliv dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/07/2004, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo