Comment créer un "splash screen" ? - VB/VBA/VBS - Programmation
MarshPosté le 07-01-2006 à 21:20:44
J'utilise un form qui s'affiche au démarrage, je l'apelle à partir du sub main()
La fenêtre tout seul s'affiche bien, le problème c'est que au démarrage du programme, après mon frmSplash.show j'ai d'autres instructions comme par exemple, initialisations de tableaux, connection au serveur mysql, etc.
VB6 n'attend pas que la fenêtre frmSplash soit complètement dessiné à l'écran avant d'exécuter les instructions suivantes, alors si par exemple il a de la misère à se connecter au serveur mysql la fenêtre se dessine qu'a moitié et donne l'impression que ça gèle car il s'occupe d'attendre la réponse du serveur.
J'ai pensé mettre un doevents, la fenêtre maintenant s'affiche bien, mais dans ma fenêtre je voulais aussi montrer ce qui se passe avec un label en changeant le texte. Par exemple: chargement de ceci...chargement de cela.. etc.
Mais le timer que j'ai mit sur le form qui affiche ça ne s'exécute pas, car il est occupé sur la connexion. Alors finalement comment faire plusieurs choses en même temps sous VB6 ? Est-ce que je dois faire du multi-thread ? J'ai mit ma classe qui connect vers le serveur dans une dll mais ça n'a rien changé.
Marsh Posté le 07-01-2006 à 21:20:44
J'utilise un form qui s'affiche au démarrage, je l'apelle à partir du sub main()
La fenêtre tout seul s'affiche bien, le problème c'est que au démarrage du programme, après mon frmSplash.show j'ai d'autres instructions comme par exemple, initialisations de tableaux, connection au serveur mysql, etc.
VB6 n'attend pas que la fenêtre frmSplash soit complètement dessiné à l'écran avant d'exécuter les instructions suivantes, alors si par exemple il a de la misère à se connecter au serveur mysql la fenêtre se dessine qu'a moitié et donne l'impression que ça gèle car il s'occupe d'attendre la réponse du serveur.
J'ai pensé mettre un doevents, la fenêtre maintenant s'affiche bien, mais dans ma fenêtre je voulais aussi montrer ce qui se passe avec un label en changeant le texte. Par exemple: chargement de ceci...chargement de cela.. etc.
Mais le timer que j'ai mit sur le form qui affiche ça ne s'exécute pas, car il est occupé sur la connexion. Alors finalement comment faire plusieurs choses en même temps sous VB6 ? Est-ce que je dois faire du multi-thread ? J'ai mit ma classe qui connect vers le serveur dans une dll mais ça n'a rien changé.
Merci.