1. #1
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Albanie

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : mai 2017
    Messages : 3
    Points : 5
    Points
    5

    Par défaut Que se passe t'il en mémoire si je ne libéré pas les objects?

    Bsr svp j aimerai savoir que es ce qui se passe quant on stocks les types de variables, si je ne libéré pas a la fin, es ce ça endommage la mémoire?,

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 072
    Points : 8 080
    Points
    8 080

    Par défaut

    Salut

    <plaisanterie> Peut être qu'un jour tu verras de la fumée sortir de ton ordinateur </plaisanterie>.

    Non les composants mémoire de ton ordinateur ne risque rien.

    En règle générale, toute utilisation mémoire et déchargée quand ton programme prend fin.
    Ce n'est pas vraie quand il s'agit de variable objet.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Excel
    Set Excel = CreateObject("Excel.Application")
    Si tu ne termines pas ton programme par un Set Excel= NotHing, une instance d'Exell reste en mémoire, a chaque lancement successif du programme, tu recrées une instance d'Excell, qui finissent par s’accumuler et occuper de plus en plus de mémoire.

  3. #3
    Membre chevronné

    Homme Profil pro
    Responsable déploiement (SCCM, AirWatch, AMP)
    Inscrit en
    juillet 2014
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, AirWatch, AMP)
    Secteur : Transports

    Informations forums :
    Inscription : juillet 2014
    Messages : 1 031
    Points : 1 904
    Points
    1 904

    Par défaut

    Du coup une question me taraude, pour moi le code ci-dessous ne laisse pas d'instance lorsqu'il se ferme et la mémoire est libérée à la fermeture du script.
    Code vbs : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set fs = CreateObject("Scripting.FileSystemObject")

    Certains objets sont "intégrés" au code exécuté et son dépendant du process hôte et d'autre sont indépendants, externe.
    Cette idée est elle viable ? J’avoue ne pas maitriser toutes les subtilités des Ole, Automation, Com, DCO, ActiveX ...
    voir : https://windows.developpez.com/dcom/t1.html#AEN50

    PS : Dans ton exemple de code il ne me semble pas que Set Excel= NotHing suffise à clôturer le process et libérer la mémoire utilisé.

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 072
    Points : 8 080
    Points
    8 080

    Par défaut

    Salut

    Pour ericlm128
    Tu as raison, suivant l'objet application et se que l'on en utilise, il peut être indispensable de passer une commande du style MeObjet.Close et/ou .Quit et/ou .Terminate et/ou .....

    Par exemple l'objet Excel, si le but n'est pas de manipulation un classeur (simple utilisation de la fonction .ExecuteExcel4Macro), pas besoin de passer la commande .Quit.

  5. #5
    Membre chevronné

    Homme Profil pro
    Responsable déploiement (SCCM, AirWatch, AMP)
    Inscrit en
    juillet 2014
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, AirWatch, AMP)
    Secteur : Transports

    Informations forums :
    Inscription : juillet 2014
    Messages : 1 031
    Points : 1 904
    Points
    1 904

    Par défaut

    Cette discutions est résolue ?

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

Discussions similaires

  1. Que se passe t-il sans fonction exit?
    Par Poseidon13 dans le forum C
    Réponses: 7
    Dernier message: 21/10/2005, 18h47
  2. Que se passe t il lors de la pose d'un composant?
    Par korntex5 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 06/10/2005, 13h30
  3. que se passe t il quand ...
    Par -<R1>- dans le forum Débuter
    Réponses: 2
    Dernier message: 28/06/2004, 14h00
  4. Que se passe-t-il en interne si un ROLLBACK plante ?
    Par jack554 dans le forum Administration
    Réponses: 4
    Dernier message: 07/04/2004, 12h55
  5. [VB6] [Install] Que se passe-t-il lors du setup?
    Par petit scarabée dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 28/10/2002, 08h26

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