PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 22 → Fenêtre de temporisation au démarrage d'une application
Fenêtre de temporisation au démarrage d'une application
Débuté par ilewski didier, 24 nov. 2005 16:22 - 6 réponses
Posté le 24 novembre 2005 - 16:22
Bonjour à tous,

J'essaye en vain de trouver une solution pour afficher une fenetre de temporisation pendant l'initialisation de mon application. En effet, le temps d'initialisation est de 30 secondes environ et l'image d'introduction déclarée lors de la création de l'executable etant fixe, certains utilisateurs m'ont demandé de mettre une animation car beaucoup pensent que l'application est plantée.

je ne sais pas du tout comment faire celà.

Quelqu'un pourrait-il me donner la marche à suivre si c'est réalisable.

merci d'avance à tous et bons développements
Posté le 24 novembre 2005 - 11:54
Salut,

J'ai eu le même problème et j'ai finallement opté pour une fenêtre de
chargement à image fixe. Le problème étant que si tu veux que ton image
s'anime (image .gif), le thread principale ne doit pas être occupé. Je n'ai
pas trouvé de solution miracle.

La seule solution qui fonctionnerait serait de mettre l'instruction
multitache() un peut partout dans ton code d'initialisation.

L'autre solution serait de faire un thread. De mon côté j'ai du oublier
cette idée car mon initialisation (5-10 sec) est surtout concentrée sur
l'initialisation des fichiers hyper file (modifier le répertoire
hchangerep()). Le problème avec le thread est qu'il utilise une copie du
contexte hyper file, alors le thread principal n'est pas du tout au courant
des modification de répertoire apportés aux fichiers. Mais si dans ton
initialisation tu ne fais pas de modification de répertoire ou si cela se
fait au début, le reste de ton initialisation peut se faire dans un thread.
Tu initialise tes fichiers de données, tu ouvre une fenêtre de chargement
(avec ton image animée), et tu utilise threadexecute dans l'initialisation
de ta fenêtre.

Mathieu
Posté le 24 novembre 2005 - 12:04
Salut,

l'instruction multitache(entier positif) rend la main à ton application
alors c'est certain que si tu as un image animée dans la fenetre monanim ,
elle va s'animer.
Or si tu as un traitement d'initialisation de quelques milliers de lignes
entre ton ouvrefille(monanim) et ferme(monanim), il ne sera pas évident de
placer des multitache() un peu partout dans ces lignes pour laisser du temps
à l'image de s'animer de manière constante.

Mathieu
Posté le 24 novembre 2005 - 17:58
Salut

N'utilise pas le splashscreen, mais remplace-le par une fenêtre WinDev
- sans barre de titre - contenant une image animée (un gif animé
marche bien).

Au début du code d'init du projet, tu ouvre cette fenêtre avec
Ouvrefille. A la fin du code, tu ferme la fenêtre.

J'ai testé avec un multitache pour simuler un traitement log. ca
marche bien.

// init projet
OuvreFille(MonAnim)
Multitâche(3000)
Ferme(MonAnim)

--
Ciao
Pat Biker
http://aaa.windev.free.fr/




On Thu, 24 Nov 2005 15:22:02 +0100, "ilewski didier"
<adlmedia@wanadoo.fr> wrote:



Bonjour à tous,

J'essaye en vain de trouver une solution pour afficher une fenetre de temporisation pendant l'initialisation de mon application. En effet, le temps d'initialisation est de 30 secondes environ et l'image d'introduction déclarée lors de la création de l'executable etant fixe, certains utilisateurs m'ont demandé de mettre une animation car beaucoup pensent que l'application est plantée.

je ne sais pas du tout comment faire celà.

Quelqu'un pourrait-il me donner la marche à suivre si c'est réalisable.

merci d'avance à tous et bons développements
Posté le 24 novembre 2005 - 19:58
Sais-tu si il est normal que ton appli met 30 secondes à démarrer. Ca me
parait long ?!



Bonjour à tous,

J'essaye en vain de trouver une solution pour afficher une fenetre de temporisation pendant l'initialisation de mon application. En effet, le temps d'initialisation est de 30 secondes environ et l'image d'introduction déclarée lors de la création de l'executable etant fixe, certains utilisateurs m'ont demandé de mettre une animation car beaucoup pensent que l'application est plantée.

je ne sais pas du tout comment faire celà.

Quelqu'un pourrait-il me donner la marche à suivre si c'est réalisable.

merci d'avance à tous et bons développements
Posté le 25 novembre 2005 - 23:56
Merci à tous pour vos réponses.
Je vais tester ce que vous m'avez dit concernant l'execution d'un thread dans l'initialisation.
Le fait que l'application soit longue au démarrage est du au fait que dans le code d'initialisation, je vais interroger un serveur via http pour lire un fichier xml et mettre à jour des données dans les fichiers HF.
Effectivement ,je vais voir si je ne peux pas déplacer ce code ailleurs.

merci à vous et bon développement
Posté le 19 mai 2017 - 16:33
HELLO WORLD !