Posté le 30 mars 2018 - 09:38 |
Bonjour, (Windev 19)
J'ai un logiciel qui, à l'ouverture possède un tableau de bord que j'incrémente par programmation de la façon suivante.
i est un entier = 0 JAUGE_Progress_TDB..BorneMin = 0
TDB_Principal1..Visible = Faux sListeGroupe est une chaîne = gpwRecupInfoUtilisateur(gpwInfoGroupe)
Num est un entier
sGroupe est une chaîne
POUR TOUTE chaîne sGroupe de sListeGroupe SEPAREE PAR TAB SI sGroupe = "Responsables" ALORS JAUGE_Progress_TDB..BorneMax = 7 JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,TDB_DG,"DG") TDBConfigurationInitiale(TDB_Principal1,Num,1,1,1,1) JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,TDB_ST,"ST") TDBConfigurationInitiale(TDB_Principal1,Num,2,1,1,1) JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,TDB_CS,"CS") TDBConfigurationInitiale(TDB_Principal1,Num,3,1,1,1) JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,TDB_PM,"PM") TDBConfigurationInitiale(TDB_Principal1,Num,1,2,1,1) JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,TDB_RS,"RS") TDBConfigurationInitiale(TDB_Principal1,Num,2,2,1,1) JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,TDB_IT,"IT") TDBConfigurationInitiale(TDB_Principal1,Num,3,2,1,1) JAUGE_Progress_TDB++ BTN_ChangerMode..Visible = Vrai BTN_MessageVali..Visible = Vrai INT_Mode = Vrai JAUGE_Progress_TDB..Visible = Faux RETOUR FIN TDB_Principal1..Visible = Vrai FIN
POUR TOUTE chaîne sGroupe de sListeGroupe SEPAREE PAR TAB sousGroupe est une chaîne JAUGE_Progress_TDB..BorneMax = 5 JAUGE_Progress_TDB++ SELON sGroupe CAS "RH" sGroupe = "RS" sousGroupe = "RS_RH" CAS "CM" sGroupe = "RS" sousGroupe = "RS_CM" CAS "EC" sGroupe = "DG" sousGroupe = "DG_EC" CAS "SG" sGroupe = "DG" sousGroupe = "DG_SG" CAS "UB" sGroupe = "DG" sousGroupe = "DG_UB" FIN JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,"TDB_"+sGroupe+"_Groupe",sGroupe +"Groupe") TDBConfigurationInitiale(TDB_Principal1,Num,1,1,2,2) JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,"TDB_"+sousGroupe,sGroupe) TDBConfigurationInitiale(TDB_Principal1,Num,3,1,1,1) JAUGE_Progress_TDB++ Num = TDBAjouteWidget(TDB_Principal1,TDB_IT,"IT") TDBConfigurationInitiale(TDB_Principal1,Num,3,2,1,1) JAUGE_Progress_TDB++ INT_Mode = Faux TDB_Principal1..Visible = Vrai JAUGE_Progress_TDB..Visible = Faux RETOUR FIN
Je vérifie de qu'elle groupe est la personne pour moduler le tableau de bord en fonction.
Mon problème est que pour chaque fenêtre interne de mon tableau de bord, le logiciel cherche des informations sur l'utilisateur par rapport au groupware de windev. Voici un exemple de traitement qui dure au moins 2,5 secondes environ sur mon PC : "Procédure globale GPU_nRecupEtatElementUtilisateur"
Est-il possible, soit de créer un thread ? Soit de charger seulement ces informations à l'ouverture du logiciel et de les mémoriser ? (Pour éviter d'avoir le chargement à chaque retour sur la page) Soit tout simplement de le retirer ?
Merci pour votre aide. Dytis |
| |
| |
|