PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD 24] Jauge évoluée
[WD 24] Jauge évoluée
Iniciado por Nicolas, 13,ene. 2020 13:34 - 1 respuesta
Miembro registrado
54 mensajes
Publicado el 13,enero 2020 - 13:34
Bonjour à tous,

Voilà, dans mon application, j'ai souvent des tables qui se remplissent suite au clic sur un bouton "Actualiser". Suivant les filtres renseignés par l'utilisateur, les temps de traitement peuvent être plus ou moins long. C'est la raison pour laquelle je fais apparaître une jauge fabriqué main dans laquelle il y a en fait deux jauges : une pour le traitement global et une pour chaque traitement spécifique du bouton "Actualiser". Globalement, ma jauge marche bien, sauf que sur celle-ci, j'y ai inclus un bouton "Annuler" sur lequel les utilisateurs peuvent cliquer pour annuler le traitement. Seulement voilà, mon problème est ici, je n'arrive pas à intercepter le clic sur le bouton annuler de ma jauge (qui est en fait une fenêtre qui s'ouvre en popup) pour qu'il soit pris en compte dans mon traitement principal et que tout s'arrête.

J'espère avoir été assez clair.

Je vous remercie par avance pour toutes vos réponses.

Nicolas
Publicado el 14,enero 2020 - 09:54
Bonjour,
Si le traitement est effectué dans le thread principal, qu'il est lent et sans "pause" alors c'est normal que l'événement du clic soit non pris en compte.
Il faut adapter le code ci-dessous et l'ajouter dans ta boucle qui remplit ton champ table :
SI (ThreadCourant() = "") ALORS
SI EnModeService() ALORS
ServiceTemporise(1)
SINON
Temporisation(1, tempoSourisEtClavier)
FIN
SINON
ThreadPause(1)
FIN

Au besoin tu peux aussi utiliser cette propriété :
<NomChampTable>..AffichageActif = Faux
... Code qui remplit le champ table
<NomChampTable>..AffichageActif = Vrai