Pb de thread !! Ouvrir une fenêtre d'attente pendant un traitement

Posté par nasham85@msn.com le 2/5/2006 17:09:07
Bonjour,
je souhaite ouvrir une fenêtre secondaire indiquant à l'utilisateur qu'une recherche est en cours sur la fenêtre principal. Une animation est faite sur cet fenêtre secondaire, et l'utilisateur peut cliquer sur un bouton "annuler" (situé sur la fenêtre secondaire) qui annulera le traitement effectué sur la fenêtre principale.
Comment puis - je le faire ? Pouvez vous me montrer un exemple de code ou autres ..
J'ai moi même essayer mais aucune fenêtre n'a été affichée, voici ce que j'ai fais :
tout dabord un évènement a été crée à l'initialisation de ma fenêtre (et j'ai essayé aussi en la mettant dans la procédure local avant d'exécuter mon thread secondaire )qui traite la procédure locale "attendre" lors de l'envoi du message "Rechercher".

Evenement("attendre","*.*","Rechercher")

Dans une procédure locale je fais :

ThreadExécute("thread1",threadNormal,"fenAttente")
..... // le traitement qui prend du temps
ThreadArrête("thread1")

Dans Procedure local "attendre" je fais :

PROCEDURE attendre()
ouvre(fen_attente) // j'ai essayé avec ouvreSoeur et
// ouvreFille aussi
Dans procédure local "fenAttendre" je fais :

PROCEDURE fenAttente()
PostMessage(Handle(fen_principal),"Rechercher",0,0)

Au final, rien ne se produite .. si je fais directement :
ThreadExécute("thread1",threadNormal,"Ouvre(fen_attente)")
// la fenêtre s'ouvre mais stop le traitement de la
// fenêtre principal

Si je fais :
ThreadExécute("thread1",threadNormal,"OuvreSoeur(fen_attente)")
// aucune interaction n'est possible avec la fenêtre
// d'attente et l'animation n'est pas lancée

Merci !!

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=3937&post_id=16509