|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour la communauté
J'ai un soucis d'affiche de message dans un de mes scripts HTA Voici le problème .... .... def setValue(divid,data): elt = document.getElementById(divid) elt.innerHTML = data def infoSysteme(): setValue("info","Veuillez patienter") #mise du div "info" c = os.popen(cmdDisk%Serveur).read() setValue('tabcentre',c) .... .... Lorque j'appelle la focntion 'infoSysteme' le div 'info' se met à jour une fois que la fonction 'infoSysteme' est terminée. Merci pour votre aide Cordialement Salvatore |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Bonsoir !
Si tu remplaces les fonctions Python par des fonctions Javascript, tu auras le même comportement. Conclusion, ce n'est pas un problème Python, mais un problème HTA ; plus exactement HTML, car ça se produit également dans des pages HTML. Mais, ce comportement est conforme aux normes du Web Pour contourner cela, il te faudra certainement jongler avec la gestion des évènements des pages HTML (ou HTA). Un moyen (assez) simple, c'est d'isoler les fonctions d'affichage, et de les appeler avec des setTimeout. @-salutations Michel Claveau |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Bonsoir !
Si tu remplaces les fonctions Python par des fonctions Javascript, tu auras le même comportement. Conclusion, ce n'est pas un problème Python, mais un problème HTA ; plus exactement HTML, car ça se produit également dans des pages HTML. Mais, ce comportement est conforme aux normes du Web Pour contourner cela, il te faudra certainement jongler avec la gestion des évènements des pages HTML (ou HTA). Un moyen (assez) simple, c'est d'isoler les fonctions d'affichage, et de les appeler avec des setTimeout. @-salutations Michel Claveau |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Re !
Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe de France de rugby face à l'équipe de la Rose... Après chaque appel à une fonction qui écrit (setValue), insère cette ligne : win32gui.PumpWaitingMessages() (rappel : mettre import win32gui qq. part avant) Cela suffit à laisser la main à Windows, le temps de rafraîchir l'affichage. @-salutations Michel Claveau |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Re !
Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe de France de rugby face à l'équipe de la Rose... Après chaque appel à une fonction qui écrit (setValue), insère cette ligne : win32gui.PumpWaitingMessages() (rappel : mettre import win32gui qq. part avant) Cela suffit à laisser la main à Windows, le temps de rafraîchir l'affichage. @-salutations Michel Claveau |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Tu es mon sauveur :-)
Merci beaucoup Salvatore Méta-MCI (MVP) a écrit : > Re ! > > > Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe > de France de rugby face à l'équipe de la Rose... > > Après chaque appel à une fonction qui écrit (setValue), insère cette > ligne : > win32gui.PumpWaitingMessages() > (rappel : mettre import win32gui qq. part avant) > > Cela suffit à laisser la main à Windows, le temps de rafraîchir > l'affichage. > > > @-salutations > > Michel Claveau > > > > > > |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Tu es mon sauveur :-)
Merci beaucoup Salvatore Méta-MCI (MVP) a écrit : > Re ! > > > Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe > de France de rugby face à l'équipe de la Rose... > > Après chaque appel à une fonction qui écrit (setValue), insère cette > ligne : > win32gui.PumpWaitingMessages() > (rappel : mettre import win32gui qq. part avant) > > Cela suffit à laisser la main à Windows, le temps de rafraîchir > l'affichage. > > > @-salutations > > Michel Claveau > > > > > > |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
> Tu es mon sauveur :-) Soyons modestes : j'ai, peut-être, simplement sauvé ta (bonne) nuit de sommeil... |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
> Tu es mon sauveur :-) Soyons modestes : j'ai, peut-être, simplement sauvé ta (bonne) nuit de sommeil... |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
Grâce à Michel voici
la solution: def setPauseMsg(started=0): if started == 1: WaitCursor() setValue("tabcentreInfo","Veuillez Patienter...") else: Pointer() win32gui.PumpWaitingMessages() def infoSysteme(): setPauseMsg(1) setValue("tabcentre","") c = os.popen(cmdSystem%Server).read() setValue('tabcentre',c) setPauseMsg(0) Cordialement Salvatore |
|
|
|
#11 |
|
Messages: n/a
Hébergeur: |
Grâce à Michel voici
la solution: def setPauseMsg(started=0): if started == 1: WaitCursor() setValue("tabcentreInfo","Veuillez Patienter...") else: Pointer() win32gui.PumpWaitingMessages() def infoSysteme(): setPauseMsg(1) setValue("tabcentre","") c = os.popen(cmdSystem%Server).read() setValue('tabcentre',c) setPauseMsg(0) Cordialement Salvatore |
|
![]() |
| Outils de la discussion | |
|
|