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

VB 6 et antérieur Discussion :

[VB6] Liberer la memoire utilisée par une variable Objet


Sujet :

VB 6 et antérieur

  1. #1
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 088
    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 088
    Points : 16 654
    Points
    16 654
    Par défaut [VB6] Liberer la memoire utilisée par une variable Objet


    j'utilise un objet du type "Word.Application" (referencé dans mon projet),

    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
    Option Explicit
    Dim Appli As Word.Application
    Dim AppliOk As Boolean
     
    Private Sub Form_Load()
    On Error Resume Next
    Set Appli = GetObject(, "Word.Application")
    DoEvents
    If Err.Number = 0 Then
      AppliOk = True
     Else
     On Error GoTo 0
     AppliOk = False
     MsgBox "pas bon"
    End If
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
    If AppliOk = True Then Set Appli = Nothing: DoEvents
    End
    End Sub
    Le probleme est que dans le gestionnaire des taches de windows, onglet "Processus", je m'apercois que le processus "winword.exe" n'ai pas dechargé par la ligne de commande, "If AppliOk = True Then Set Appli = Nothing: DoEvents" de la procedure Private Sub Form_Unload.
    j'ai bien sûr verifié que ma variable AppliOk = True et que Set Appli = Nothing est executé.
    Pourtant, a chaques nouveaux demarages du programme, une nouvelle ligne apparait dans le gestionnaire des taches de windows.
    Ce qui expliquerait que pour chaques nouveaux lancements du programme, celui-ci met de plus en plus de temps a ce charger et a s'executer.
    De plus je pense qu'au bout d'un certain nombre de lancement du programme, celui-ci va ce planter.

    J'avais cru comprendre que pour decharger en memoire une variable objet il fallait la passer en Nothing.

    Je doute de plus en plus de savoir programmer .......

    Merci de votre aide
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Je n'y connais pas grand chose sur le pilotage de word depuis vb
    mais peut etre
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 088
    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 088
    Points : 16 654
    Points
    16 654
    Par défaut
    Merci Delbeke

    Sa marche!!

    Je n'avai vraiment pas pensé qu'il fallait quitter l'application, que le fait de decharger en memoire sous entendait de quitter.
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/01/2015, 16h22
  2. [XL-2007] Mettre variables dans une matrice qui est utilisée par une fonction
    Par Agalis dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/04/2012, 09h08
  3. [XL-2010] utilisation d'une variable objet Range
    Par nunnu27 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/08/2010, 21h15
  4. memoire utilisée par les variables ?
    Par Zwiter dans le forum Langage
    Réponses: 10
    Dernier message: 07/09/2009, 09h29
  5. comment connaitre la memoire utilisée par une appli?
    Par afrikha dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 19/11/2005, 21h24

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