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

Python Discussion :

error line 1383, in __del__


Sujet :

Python

  1. #1
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    652
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 652
    Par défaut error line 1383, in __del__
    Depuis quelques temps, à la fermeture de mon soft je récupère le message :

    Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exception ignored in: <function _DeleteDummyThreadOnDel.__del__ at 0x000001D8E9BEDE40>
    Traceback (most recent call last):
      File "C:\Users\Jean-Pierre Mignot\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 1383, in __del__
    TypeError: 'NoneType' object does not support the context manager protocol

    Pourtant je quitte avec beaucoup de précautions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    app.root.protocol("WM_DELETE_WINDOW", on_window_close_via_X)
    on_window_close_via_X s'assure que tout est fermé, les processus clos et finalement appelle os.sys.exit()

    J'ai vu sur internet (https://github.com/python/cpython/issues/135522) que ceci n'était pas clair...

    Le programme s'arrête alors avec non pas le code 0 mais le code -1

    Le programme 'python.exe' s'est arrêté avec le code 4294967295 (0xffffffff)



    Quelqu'un aurait-il une idée comment au moins capter ce message et éviter de l'afficher à la fermeture car le soft fonctionne, tout y est réalisé, affiché, sauvé mais cela ne fait pas très clean d'avoir un tel message à la fermeture.


    Merci d'avance pour toutes suggestions!

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 520
    Par défaut
    Bonjour,

    WM_DELETE_WINDOW est définie par la Xlib, qui implémente l'API de « X-Window », qui est lui-même le serveur d'affichage utilisé par les serveurs Unix ou les machines sous Linux ou xBSD (jusqu'à X.org, en passe d'être remplacé par Wayland sous Linux). On ne recourt d'ailleurs à cette constante que lorsque l'on travaille soi-même directement avec la XLib. Aujourd'hui, on utilise généralement un framework plus large et plus portable, tel que Qt ou GTK, qui s'appuie dessus et effectue lui-même ces manipulations.

    Toi, tu sembles travailler sous MS Windows (à en voir le chemin d'accès de ton fichier), ce qui n'a rien à voir.

    « app.root » semble se référer à la fenêtre-racine de ton application (ce qui implique beaucoup d'initialisations préalables menées automatiquement), mais il faudrait que l'on voie ton code pour savoir avec quel framework tu travailles.

Discussions similaires

  1. [Débutant] Fonction vartestn "error line 272"
    Par etu_staps dans le forum MATLAB
    Réponses: 0
    Dernier message: 15/06/2020, 23h26
  2. Réponses: 2
    Dernier message: 21/02/2019, 12h36
  3. ogreroot.cpp error line 639
    Par CloudyClad dans le forum Ogre
    Réponses: 4
    Dernier message: 16/08/2012, 17h06
  4. Réponses: 3
    Dernier message: 01/08/2012, 20h59
  5. [EasyPHP] Warning: Sablotron error on line 41: wrong expression syntax
    Par moonia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 27/03/2006, 15h00

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