Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:lazarus:cas:wm_messages:envois [25/04/2023 12:27] thierry [Perform] |
prog:lazarus:cas:wm_messages:envois [25/04/2023 12:34] (Version actuelle) thierry [Perform] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Envois de messages ===== | ===== Envois de messages ===== | ||
==== PostMessage ==== | ==== PostMessage ==== | ||
+ | postMessage : Envoie un message dans la file d'attente de messages associée au thread et revient **__sans attendre__** que le thread ai traité ce message. | ||
+ | |||
+ | On pourrait dire que ce mécanisme est Asynchrone. | ||
<code delphi> | <code delphi> | ||
PostMessage(Application.MainForm.Handle,1222,0,0); | PostMessage(Application.MainForm.Handle,1222,0,0); | ||
</code> | </code> | ||
+ | ==== SendMessage ==== | ||
+ | SendMessage : appelle la procédure de fenêtre pour la fenêtre spécifiée et ne revient pas tant que la procédure de fenêtre n'a pas traité le message. | ||
+ | |||
+ | Par comparaison avec ''PostMessage'' on pourrait assimiler ce mécanisme avec du Synchrone. | ||
+ | <code delphi> | ||
+ | SendMessage(Application.MainForm.Handle,1222,0,0); | ||
+ | </code> | ||
+ | |||
==== Perform ==== | ==== Perform ==== | ||
+ | ''Perform'' a le même comportement que ''SendMessage'' (Synchrone) | ||
<code delphi> | <code delphi> | ||
Application.MainForm.Perform(1222,0,0); | Application.MainForm.Perform(1222,0,0); |