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

GTK+ avec Python Discussion :

suppression d'une instance de classe


Sujet :

GTK+ avec Python

  1. #1
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut suppression d'une instance de classe
    Bonjour,
    je me pose la question suivante, soit le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def Callback(self,widget,data):
       OpenWindow("Ma fenetre")
    OpenWindow a pour tache d'ouvrir une dialog box.
    Quand l'instance de la classe OpenWindow sera t'elle supprimée ? sur fermeture de la dialog box ?
    j'ai lu qu'une instance de classe est supprimée si elle n'est plus référencée (et je suppose que son traitement doit être terminée).

    merci

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    En fait ça dépend de Python, apparemment c'est l'interpréteur qui gère cela au moyen d'un garbage collecteur donc la classe sera détruite quand ce dernier l'auras décidé.

    Conditions de destruction des instances de classes.

  3. #3
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    En toute logique, la référence (implicite ?) de OpenWindow est perdue lorsque la fonction Callback s'achève.
    En plus, cette callback se termine alors que la boite de dialogue lancée dans OpenWindow est toujours présente.
    j'aurais tendance à penser que lorsque la boite de dialogue sera fermée, l'instance de OpenWindows qui l'a créée n'a plus rien à faire et devient alors éligible à la suppression.
    Merci

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par awalter1 Voir le message
    En toute logique, la référence (implicite ?) de OpenWindow est perdue lorsque la fonction Callback s'achève.
    En toute logique, oui.

    Citation Envoyé par awalter1 Voir le message
    j'aurais tendance à penser que lorsque la boite de dialogue sera fermée, l'instance de OpenWindows qui l'a créée n'a plus rien à faire et devient alors éligible à la suppression.
    Ce qui est envisageable c'est que GTK augmente le nombre de référence de 1 dans le constructeur du widget et le diminue de 1 lorsque le signal "destroy" est reçu. Ceci permet de garder le widget, même si aucune référence existe dans ton code.

    Faudrais faire quelques tests pour en être sûr

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/07/2006, 09h44
  2. [POO] Tableau d'objets B dans une instance de class A
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2006, 09h52
  3. Réponses: 3
    Dernier message: 18/02/2006, 23h21
  4. Exporter une instance de classe au format XML ou XMI
    Par Scorpion Rouge dans le forum Persistance des données
    Réponses: 2
    Dernier message: 22/12/2005, 11h19
  5. suppression d'une instance sql serveur
    Par new_wave dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/12/2005, 16h05

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