Page 1 sur 1

Rafraichir gadget

Publié : dim. 12/sept./2004 21:49
par LavaLava
Lors de long calcul (plusieurs minutes), j'aimerais afficher leur évolution dans un editor ou listview. Malheureusement, durant ce temps l'affichage parait 'gelé'... pour ce faire d'un coup à la fin des calculs !
J'ai l'impression qu'il existe une fonction pour rafraichir le contenu d'un gadget, mais je ne la trouve pas.
Merci
PS : L'utilisation d'une statusbar (qui est rafraichie toute seule) ne me convient pas.

Publié : dim. 12/sept./2004 22:39
par filperj
Je dis ça un peu au pif, mais le raffraîchissement des gadgets semble lié à la récupération des évènements...
Est-ce que tu as essayé de vider la file d'attente des évènements, avec un truc genre "While WindowEvent() : Wend" ?

Je suis peut-être complètement à côté de la plaque, ceci dit :roll:

Publié : dim. 12/sept./2004 22:57
par LavaLava
Je ne sais pas si c'est trés 'propre' ton'info, mais en tout cas ça tourne !
Merci

Publié : lun. 13/sept./2004 6:05
par julien
pourquoi ne fais tu part tes calcul dans un thread ?

tu lances ta procedure comme ceci

createthread(@taprocedure(),0)

Publié : lun. 13/sept./2004 9:08
par Le Soldat Inconnu
il suffit de placer un WindowUpdate_(windowid()) dans la boucle
il faut également purger tous les évènements avec le code suivant
While WindowEvent()
Wend

donc au final, il faut placer dans la boucle ceci :

Code : Tout sélectionner

WindowUpdate_(WindowID())
While WindowEvent()
Wend

Publié : lun. 13/sept./2004 20:50
par LavaLava
Impécable !
Malgré tout je vais peut-être etudier de plus prés les thread ...
Merci