Exemple d’utilisation d’une tache parallèle en Windev.
Les tâches parallèles ne bloquent pas l’application et s’effectue en tâche de fond.
Voici un exemple qui appelle la procédure de calcul du S/P avec une procédure qui actualise l’interface dans le thread principal.
! Attention !
Si vous avez besoin d’utiliser directement les informations sur la base de données il faudra alors passer en paramètres tpoCopieComplèteContexteHFSQL à la place de tpoCopieLégèreContexteHFSQL (voir l’aide de PC Soft pour plus d’information)
JAUGE_Sinistre..TexteJauge = "Calcul en cour..." // On indique à l'utilisateur qu'un traitement/calcul sur le champ jauge est en cour... L'application n'est pas bloquée...
soit tache_SsurP = TâcheParallèleExécute(Calcul_SsurP, (CodeCLient), tpoCopieLégèreContexteHFSQL)
TâcheParallèleExécuteAprès(tache_SsurP, TâcheParallèleExécuteAprès_Callback,(ValeurRenvoyéeTâchePrécédente),tpoThreadPrincipal)
PROCÉDURE INTERNE Calcul_SsurP(p_s_CodeCLient est une chaîne)
rSinistralité est un réel = 0
// traitement du calcul du S/P
// ...
// Renvoyer le résultat...
RENVOYER rSinistralité
FIN
PROCÉDURE INTERNE TâcheParallèleExécuteAprès_Callback(rSinistralité)
// On affiche le résultat dans une jauge...
SI rSinistralité > 100 ALORS
JAUGE_Sinistre..BorneMax = PartieEntière(rSinistralité)
SINON
JAUGE_Sinistre..BorneMax = 100
FIN
JAUGE_Sinistre..TexteJauge = "%1" // Affiche le pourcentage actuel de la jauge...
JAUGE_Sinistre = rSinistralité
SI rSinistralité > 50 ALORS
JAUGE_Sinistre..CouleurJauge = RougeFoncé
SINON
JAUGE_Sinistre..CouleurJauge = RVB(66, 133, 244)
FIN
JAUGE_Sinistre..Opacité = 100
FIN
0 commentaires