PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → PostMessage
PostMessage
Débuté par Christophe GUIRAUD, 25 nov. 2004 15:37 - 2 réponses
Posté le 25 novembre 2004 - 15:37
Bonjour,

je cherche à ouvrir une fenêtre à partir d'un thread, j'ai donc suivi les conseils de l'aide.

- déclarer un événement sur la fenêtre principale qui appelle la procédure qui ouvre la fenêtre.
- utiliser PostMessage dans le thread pour générer l'événement , avec
PostMessage(handle(<MaFenPrincipale>),<MessageWindows>,Param,Param)

Lors de l'éxécution, je passe bien par mon PostMessage qui renvoit vrai, mais ma procédure n'est jamais appelée lorsque je demande à priori beaucoup à mon pocket, (un timer qui sert de chrono + un thread qui écoute sur le port com).

D'où cela peut-il venir? Le message se met-il réellement en file d'attente?
( j'ai également essayé SendMessage() mais le résultat est le même).

Merci.
Posté le 11 janvier 2005 - 17:33
J'ai le même problême mais avec une application Windev 7.5
J'ai l'impression que lorsque l'application demande beaucoup de ressources, le dépilage des messages ne se fait pas, et ce qui est bizarre, c'est que du coup j'ai essayé de refaire un postmessage dans le cas ou la procédure n'etait pas lancée, et là il me lancait deux fois la procédure, donc le message etait bien resté dans la pile....
Si PCSOFT a une réponse à ça ce serait un grand bien pour mon application.
Bonne année 2005 à tous, avec le moins de bugs possibles ;)

Yann Guilbert
Apprenti Ingénieur
Posté le 11 janvier 2005 - 18:25
Avec du retard ... mais ça me rapelle une grosse galère :
Il semble que windows à une pile FIFO de taille fixe, si bien que certain
message (quand la pile est pleine) ne traite pas les messages.
J'ai dû fabriquer mon propre systeme de pile, et le 'lecteur' est reactivé
par un timer quand la pile est vide!...
Un belle galère a trouvé a cause du problème aléatoire du disfonctionnement.



"Christophe GUIRAUD" <christophe.guiraud@actus-system.com> a écrit dans le
message de news: 41a5d627@news.pcsoft.fr...

Bonjour,

je cherche à ouvrir une fenêtre à partir d'un thread, j'ai donc suivi les

conseils de l'aide.

- déclarer un événement sur la fenêtre principale qui appelle la procédure

qui ouvre la fenêtre.
- utiliser PostMessage dans le thread pour générer l'événement , avec
PostMessage(handle(<MaFenPrincipale>),<MessageWindows>,Param,Param)

Lors de l'éxécution, je passe bien par mon PostMessage qui renvoit vrai,

mais ma procédure n'est jamais appelée lorsque je demande à priori beaucoup
à mon pocket, (un timer qui sert de chrono + un thread qui écoute sur le
port com).

D'où cela peut-il venir? Le message se met-il réellement en file

d'attente?
( j'ai également essayé SendMessage() mais le résultat est le même).

Merci.