Déjà évoqué dans un précédent billet, les attributs d'extension sont très utiles et permettent de considérablement simplifier l'écriture de traitements WLangage, tout en améliorant la lisibilité du code.

 

Combinés avec l'utilisation de procédures internes, les attributs d'extension permettent par exemple de regrouper dans un seul code un ensemble de tâches. Sans procédures internes, le même traitement aurait nécessité de créer plusieurs procédures, définir des automatismes...


Voici un exemple très simple à copier/coller dans un code de clic bouton :

 

// Le bouton nommé BTN_Test est grisé durant le traitement une jauge infinie le remplace...
BTN_TEST..Etat = Grisé
JAUGE_Infinie est un Champ <- ChampCrée("JAUGE_Infinie" + DonneGUID(),typJaugeInfinie,MoiMême..X,MoiMême..Y,MoiMême..Largeur,MoiMême..Hauteur,Vrai)
JAUGE_Infinie..Opacité = 25
JAUGE_Infinie..Altitude = BTN_TEST..Altitude+1

// Lancement du traitement à exécuter sans bloquer l'application
TraitementLong()

PROCEDURE INTERNE TraitementLong () <thread>
// Ici exécution d'un traitement en tâche de fond
// dans un thread secondaire (pas d'accès à l'interface)
ThreadPause(5 s)

// Traitement terminé, rappel d'un traitement du thread
// principal donc autorisé à mettre à jour l'interface
FinTraitementLong()
FIN



PROCEDURE INTERNE FinTraitementLong <thread principal>
// Mise à jour de l'interface : bouton réactivé
BTN_TEST..Etat = Actif
ChampSupprime(JAUGE_Infinie)
FIN

 

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée


© 2019 PC SOFT. Tous droits réservés. Réalisé  avec WEBDEV