Page 1 sur 1
[R] Sortie du programme suite à _SQLite_Startup()
Posté : ven. 16 mai 2025 09:08
par gumaher
Bonjour,
Mon petit programme est destiné à lire une base de données SQLite. Pour en sortir, un item de mon menu envoie vers la fonction suivante :
Code : Tout sélectionner
Func _Quitter()
_SQLite_Close(-1)
_SQLite_Shutdown()
GUIDelete($hGUI)
Exit
EndFunc
Que se passe-t-il si l'utilisateur quitte le programme par un clic sur la petite croix de sortie affichée en haut à droite de la fenêtre, plutôt que par mon menu ? Met-elle fin au _SQLite_Startup() de début de programme ?
L'argument (si c'est un argument ?) - 1 renvoie à quoi ?
Je vous remercie de vos précisions.
Re: [] Sortie du programme suite à _SQLite_Startup()
Posté : ven. 16 mai 2025 11:23
par TommyDDR
Par défaut, il ne se passe rien.
Si vous avez
Opt("GUIOnEventMode", 1)
Alors il vous suffira d'ajouter cette ligne
GUISetOnEvent($GUI_EVENT_CLOSE, _Quitter)
$GUI_EVENT_CLOSE
signifie "Quand j'appuie sur la croix rouge, ou que je fais alt + F4, ou clic droit sur ma fenêtre dans la barre des tâches / fermer la fenêtre / etc etc"
Sinon, vous avez surement une boucle de ce style dans laquelle il faudra ajouter :
Re: [] Sortie du programme suite à _SQLite_Startup()
Posté : ven. 16 mai 2025 17:29
par gumaher
Je vous remercie pour ces explications.
J'ai corrigé ainsi :
Code : Tout sélectionner
Global $idMsg = GUIGetMsg()
While $idMsg <> $GUI_EVENT_CLOSE
Switch $idMsg
Case $GUI_EVENT_CLOSE
_Quitter()
Merci encore.
Re: [] Sortie du programme suite à _SQLite_Startup()
Posté : ven. 16 mai 2025 18:17
par gumaher
Ah non, la sortie ne se fait pas par la fonction _Quitter() en cliquant sur la croix. J'ai ajouté un MsgBox dans la fonction, et elle ne s'affiche pas lorsque je clique sur la croix. Voici ma fonction :
Func _Quitter()
MsgBox(0,"","Sortie réussie !")
_SQLite_Close(-1)
_SQLite_Shutdown()
GUIDelete($hGUI)
Exit
EndFunc
Re: [] Sortie du programme suite à _SQLite_Startup()
Posté : ven. 16 mai 2025 19:23
par walkson
Bonjour,
Code : Tout sélectionner
While 1
$idMsg = GUIGetMsg()
Switch $idMsg
Case $GUI_EVENT_CLOSE
_Quitter()
EndSwitch
WEnd
$idMsg = GUIGetMsg() doit être dans la boucle
Re: [R] Sortie du programme suite à _SQLite_Startup()
Posté : ven. 16 mai 2025 20:27
par gumaher
C'est parfait. Tout fonctionne très bien.
Grand merci à tous deux.