8 votes

Comment gérer les sorties de l'interface graphique dans Racket ?

Mon application GUI Racket doit effectuer de nombreuses tâches de nettoyage à la sortie, c'est-à-dire lorsque l'utilisateur appuie sur le bouton X. Il s'agit notamment de tuer les processus enfants (ce qui n'est pas automatique sous Windows), etc.

Envelopper le .rkt dans un shell script qui attend et fait ensuite le nettoyage est un peu trop compliqué pour moi. Il existe de nombreux gestionnaires de sortie dans la documentation de Racket (exit-handler etc) mais aucun d'entre eux ne semble fonctionner !

10voto

Metaxal Points 923

Vous voulez probablement augmenter on-close en frame% par exemple :

#lang racket/gui

(send
 (new (class frame% (super-new)
        (define/augment (on-close)
          (displayln "Exiting...")))
      [label "Frame"]
      [width 400] [height 200])
 show #t)

qui sur ma machine imprime "Exiting..." lorsque je clique sur la croix de fermeture.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X