Gambas France BETA


Pas de compte ? Incription

Un affichage qui se passe mal...

1
AuteurMessages
Foromus#1 Posté le 18/7/2010 à 17:08:00
Bonjour à tous,

Voilà, j'ai une frame - enfin, un panel, sur lequel j'ai disposé plusieurs choses, et en particulier :
- Un label1 sur lequel j'affiche "Veuillez patienter..."
- Par dessus, j'ai une tabstrip 2 onglets, onglet1 avec une liste, onglet2 vide.
- En dessous de ces 2 composants, j'ai un autre label2, et qui affiche "En attente"
Rien d'extraordinaire, donc...

Le déroulement :
A un instant donné, j'ai mon label1 bien renseigné("Veuillez patienter..."), mais comme il est recouvert par la tabstrip, il est invisible ( Si je déplace la tabstrip, je le vois bien).
Mon label2 apparait normalement avec son texte("En attente").
Je clique sur un bouton, pour lancer ce que j'ai à faire, et ce que j'ai à faire est assez long : lecture de fichiers de listes, recherches, tris, etc, ça peut demander 8 ou 10 secondes, d'où mes messages d'invite à la patience. A cet effet, je mets ma tabstrip.visible à false, de manière à laisser apparaître mon message en label1, le label2 devant rester affiché avec un nouveau texte "En recherche".
A la fin du processus, je réaffiche ma tabstrip, tout en sachant que pendant la procédure, l'onglet2 a été renseigné par une liste. Concernant mon label2, je mets dedans le nombre d'éléments contenus dans cette liste de l'onglet2.
Rien de compliqué, donc...

Le souci :
Les procédures font ce qu'elles ont à faire et donnent le résultat souhaité. Ce qui est curieux, c'est que, dès le lancement, le tabstrip s'efface bien (normal), mais le label1 ne s'affiche pas, et le label2 disparaît...
En fait, mes messages d'invite à la patience ne sont jamais affichés !
A la fin de la procédure, la tabstrip s'affiche de nouveau, et en onglet2, avec sa liste. De même, mon label2 s'affiche bien avec le nombre d'éléments.

Bon, vous allez me dire que je n'ai qu'à chercher, il y a bien quelque part un ""label.visible = false"", ou un truc du genre... J'ai bien cherché - l'outil recherche est tout de même efficace, mais je n'ai rien trouvé.
Si je mets un "Return" pour arrêter les choses dans les premières lignes de ma première procédure, je constate que mes commandes sont bien respectées : tabstrip disparaît, label1 apparaît, label2 affiche le nouveau message. Naturellement, ces commandes sont en début, et si il y a effacement ultérieur, je n'ai pas le temps de les voir, en fonctionnement normal.
J'ajoute que plus loin dans mon programme, j'ai une démarche similaire, la tabstrip disparaît et le label1 affiche un autre message.

Bon, je me suis dit que tout cela devait aller trop vite, j'ai collé des "Sleep", un timer et autres subterfuges du même genre pour conjurer le sort, rien n'y fait... En désespoir de cause, je me suis dit que la "pile" ne devait pas assurer, j'ai donc trouvé dans les propriétés une configuration possible: de "Auto" je suis passé à 64K (max), rien n'a changé pour autant !

Bien, voilà 3 jours que je bute sur cette connerie, je reste quand même un peu désappointé....