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 :

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


Sujet :

VBScript

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

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mai 2017
    Messages : 4
    Points : 6
    Points
    6
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    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.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    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.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    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