Bonjour,
Voilà lors de l'initialisation de l'application (avant Application.Run en fait) je réalise plusieurs opérations. Jusque là tout va bien. Maintenant ce que je voudrais c'est réaliser d'autres opérations à l'arrêt de l'application.
Avant toute explication, voici le code :
Je rentre dans les détails : lors du lancement de l'application j'ouvre une base de données. Il n'y a aucune requête, c'est juste une demande d'ouverture et gestion des erreurs si cela ne marche pas. Si tout se passe bien l'application se lance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 begin if(CreateMutex(nil, False, 'Mtx_xxx')=ERROR_ALREADY_EXISTS) then Exit; Application.Initialize; Application.Title := 'xxx'; if(OuvertureBaseSQLite(ExtractFilePath(Application.ExeName)) = False) then Exit; Application.CreateForm(TForm_Login, Form_Login); Application.Run; end.
Maintenant moi ce que je voudrais c'est à la fermeture de l'application faire un appel à une fonction type FermetureBaseSQLite() (entre autre). Mais comment faire ? Mettre ces traitements après le Application.Run() ? Instinctivement c'est une solution qui me paraît loin d'être propre. Détecter la fermeture de l'application ? (Y'a un message qui est envoyé lors d'un Application.Terminate() ? C'est récupérable ?).
Bref je ne sais pas trop quoi faire. Alors oui certains pourraient me dire "Mais pourquoi tu fais pas tout ca dans la form que tu crées (Form_Login) ?". D'une part parce que je veux que l'ouverture de ma base soit indépendante d'une Form. D'autre part parce que la durée de vie de cette Form est extrêmement courte puisque qu'elle détruite juste après qu'un utilisateur se soit identifié. Donc j'en reviens à mon problème lors de la fermeture de l'application. Ou alors il faut que je mette mes traitements dans toutes les form lors d'un OnClose ? :/
Bon, je sais pas si j'ai été très clair :o Merci d'avance pour vos réponses en tout cas.
Partager