Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:29]
thierry [PostMessage]
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 ====
 +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> <code delphi>
 SendMessage(Application.MainForm.Handle,​1222,​0,​0);​ SendMessage(Application.MainForm.Handle,​1222,​0,​0);​
Ligne 12: Ligne 18:
  
 ==== 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); ​