Bonjour,
Désolé pour ce titre confus, je n'avais pas d'idée plus précise.
Os W10 et delphi Rio.
Ci-dessous quand je parle d'initialisation d'unités, il s'agit de code qui se trouve entre le dernier bloc "begin..end." de cette unité.
j'ai une application, dans lequel on trouve dans le programme principal (*.dpr) et dans l'ordre décris ci-dessous :
- Des "Mutex", pour éviter d'exécuter plusieurs instances de la même application et/ou des instances d'applications interdites ou qui ne peuvent cohabiter en même temps.
- Un splash (fenêtre d’accueil), pour faire patienter l'utilisateur le temps :
- d'executer divers actions.
- Que les créations des fiches actives soient finalisées environ 6 sur les 70.
- diverses actions ...
Cette tache dure environs 30 secondes, cela remplissait le job, mais avec le temps nous avons ajoutés diverses opérations dans les "initialisations" des diverses unités, qui sont executées dans l'exécution des uses. Cela implique que rien ne se passe (visuellement pendant quelques secondes) entre le lancement de l'application et la création des "Mutex" et de l'affichage du splash.
A ce jour, ces initialisations peuvent prendre quelques secondes (cette durée étant en fonction des Pc). Vus l'absence d'information, l'utilisateur pense avoir raté son double-clic sur l’icône du raccourci de l'application et reclique plusieurs fois avant que le "Mutex" ne l'interdise et donc lance plusieurs instances de l'application. Cela peut provoquer des exceptions quand plusieurs instances se lancent en même temps.
Mes idées pour indiquer à l'utilisateur que l'application est en train de se charger sont:
- 1° Changer le type de curseur, mais à l'endroit ou je souhaiterai le faire, l'application c'est pas encore lancée donc cela ne devrait pas fonctionner. Puis-je changer depuis delphi le curseur de Windows ?
- 2° Déplacer les "Mutex" dans l'initialisation de la 1er unité exécutée. Dans tous les exemples que j'ai vus, cette action est dans le DPR, et mes premiers essais sur ce déplacement ne semblent pas concluant. Est il possible de déclarer et gérer ces "Mutex" ailleurs que dans le *.DPR ?.
Merci de votre aide.
Partager