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