PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Chargement d'un tableau de bord relativement long
Chargement d'un tableau de bord relativement long
Débuté par Dytis, 30 mar. 2018 09:38 - 1 réponse
Membre enregistré
36 messages
Popularité : +1 (1 vote)
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
//Test si c'est un chef de pole pour laisser le tdb entier
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
Membre enregistré
36 messages
Popularité : +1 (1 vote)
Posté le 23 avril 2018 - 09:23
Up