Gambas France BETA


Pas de compte ? Incription

Quitter sans Quit

Ce sujet est résolu.

1
AuteurMessages
valaquarus#1 Posté le 13/1/2019 à 00:17:36
-- Unus Ex Altera --Bonsoir,
voici un bout de code que je tire de pop3check de BrunoJesus :
1
2
3
4
5
6
7
8
PUBLIC SUB mnuTrayQuit_Click()
QUIT
END

PUBLIC SUB Form_Close()
STOP EVENT
ME.Hide
END

L'utilisation de Quit pour fermer le programme n'est pas propre d'après la console :
gbx3: warning: circular references detected:
gbx3: 1 DBusStatusIconMenu
gbx3: 1 DBusStatusIcon
gbx3: 1 TrayIcon
gbx3: 1 Picture
gbx3: warning: 115 allocation(s) non freed.
J'aimerai modifier ça mais je n'ai pas trouvé quelqu'un peut il m'éclairer.

Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
didier18#2 Posté le 13/1/2019 à 14:37:15
Bonjour valaquarus

Personnellement je procède ainsi :
j'essai masquer le trayicon puis je le supprime avant de clore le formulaire (il y a peut être plus simple et/ou plus érgonomique, mais ça fonctionne).
1
2
3
4
5
6
7
8
9
PUBLIC SUB mnu_quitter_Click() 'lorsque l'utilisateur clique sur le menu ferme l'application.
'passe les éventuelles commandes du settings
'...
TRY tray.Hide 'essai de masquer le trayicon
TRY tray.Delete 'essai de supprimer le trayicon
'passe les éventuelles commandes de fermeture des autres formulaires
'...
ME.Close 'ferme l'application.
END

Avantage 1, grâce au 'Try' on peut récupérer une éventuelle erreur et la traiter...
Avantage 2, comme on travail directement depuis un menu, on a pas à se préoccuper de stopper l'évènement...

Si cela peut aider...

Bonne journée.
valaquarus#3 Posté le 13/1/2019 à 18:09:56
-- Unus Ex Altera --Bonjour didier18 et merci de ta réponse,

bon sang je n'arrive pas à récupérer l’événement de clôture et je me retrouve avec un prog qui ne se ferme pas et ça dans la console :

(pop3check:3202): GLib-GObject-CRITICAL **: g_o
bject_unref: assertion 'G_IS_OBJECT (object)' f
ailed
gbx3: warning: circular references detected:
gbx3: 1 DBusStatusIconMenu
gbx3: 1 DBusStatusIcon
gbx3: 1 TrayIcon
gbx3: 1 Picture
gbx3: warning: 123 allocation(s) non freed.

j'ai pourtant enlevé le stop event mais il semble le garder je ne sais où et donc l'appel à me.close() ne fonctionne pas.
Sais tu comment le refaire fonctionner?
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
valaquarus#4 Posté le 13/1/2019 à 22:13:21
-- Unus Ex Altera --J'ai contourné le problème (je suis en gb.gtk) en enlevant les bordures de la form j'ai récupérer l’événement Close mais pas intégralement (avec les bordures la croix de fermeture reste sans effet), j'ai donc créé un bouton pour hide la form et un bouton pour close la form et ça fonctionne plus de message horrible dans la console.
Bonsoir.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
1