[R] Sortie du programme suite à _SQLite_Startup()

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
gumaher
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 14 mai 2025 20:59
Status : Hors ligne

[R] Sortie du programme suite à _SQLite_Startup()

#1

Message 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.
Modifié en dernier par gumaher le ven. 16 mai 2025 20:24, modifié 3 fois.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2103
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [] Sortie du programme suite à _SQLite_Startup()

#2

Message 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 :
While 1
   $idMsg = GUIGetMsg()
   Select
      Case $idMsg = $GUI_EVENT_CLOSE
         _Quitter()
   EndSelect
WEnd
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
gumaher
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 14 mai 2025 20:59
Status : Hors ligne

Re: [] Sortie du programme suite à _SQLite_Startup()

#3

Message 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.
gumaher
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 14 mai 2025 20:59
Status : Hors ligne

Re: [] Sortie du programme suite à _SQLite_Startup()

#4

Message 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
Modifié en dernier par gumaher le ven. 16 mai 2025 20:26, modifié 1 fois.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [] Sortie du programme suite à _SQLite_Startup()

#5

Message 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
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
gumaher
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 14 mai 2025 20:59
Status : Hors ligne

Re: [R] Sortie du programme suite à _SQLite_Startup()

#6

Message par gumaher »

C'est parfait. Tout fonctionne très bien.
Grand merci à tous deux.
Répondre