Python - HTA probleme d'affichage

Le
Salvatore
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Méta-MCI \(MVP\)
Le #652157
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
Méta-MCI \(MVP\)
Le #652156
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
Salvatore
Le #651925
Tu es mon sauveur :-)

Merci beaucoup

Salvatore


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








Méta-MCI \(MVP\)
Le #651924
Tu es mon sauveur :-)


Soyons modestes : j'ai, peut-être, simplement sauvé ta (bonne) nuit de sommeil...

Salvatore
Le #651919
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
Publicité
Poster une réponse
Anonyme