J'y arrive régulièrement, et je suis à la recherche de meilleures pratiques/approches. J'ai une application contenant la base de données/datamodule, et je veux lancer la base de données/datasets au démarrage sans avoir "active at runtime" défini sur true au moment du design (l'emplacement de la base de données varie). Également exécuter une routine Web "vérifier les mises à jour" lorsque l'application démarre.Delphi: initialisation de l'application - meilleures pratiques/approche
Compte tenu des séquences d'événements TForm, et les résultats de divers essais et d'erreurs, je suis actuellement en utilisant cette approche:
J'utilise un enregistrement « Globals » mis en place sous la forme principale pour stocker tous les vars mondiaux, disposent d'un élément de celui appelé Globals.AppInitialized (boolean), et le définir à False dans la section Initialisation du formulaire principal. Lors de l'événement OnShow du formulaire principal (tous les formulaires sont créés à ce moment-là), je teste Globals.AppInitialized;
si c'est faux, je lance mon truc "Initialization", et termine en définissant Globals.AppInitialized: = True.
Cela semble fonctionner plutôt bien, mais est-ce la meilleure approche? Vous cherchez un aperçu de l'expérience, des idées et des opinions des autres. TIA ..
une vidéo il y a 10 ans: https://youtu.be/_PJdZjM2oTw qui couvre ce un peu . – Alister