Utilisation de la solution de messagerie multiplate-forme RTL

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des messages
Remonter à Utilisation de la RTL dans les applications multi-périphériques


La RTL fournit une solution de messagerie multiplate-forme, implémentée dans l'unité System.Messaging.

Envoi et réception des messages

La solution de messagerie multiplate-forme RTL est basée sur un Gestionnaire de messages :

  • Les composants qui veulent recevoir des messages d'un certain type s'abonnent au type de message cible sur le Gestionnaire de messages.
  • Les composants envoient les messages au Gestionnaire de messages, qui transmet ces messages aux composants abonnés au type du message reçu.

Pour de plus amples informations, voir Envoi et réception de messages en utilisant la RTL.

Support des frameworks RAD Studio pour les messages RTL

Vous pouvez utiliser la solution de messagerie multiplate-forme RTL avec FireMonkey et avec la VCL.

Support FireMonkey pour les messages RTL

FireMonkey propose un service de plate-forme, IFMXApplicationService, qui fournit un accès multiplate-forme aux notifications d'événements. Ainsi, vous n'avez pas besoin d'utiliser un autre système d'événements spécifique à la plate-forme sur chaque plate-forme ciblée par votre application. Quand IFMXApplicationService reçoit une notification d'événement depuis le système d'exploitation, il génère un objet message (TMessage ou l'un de ses descendants) pour fournir les données de l'événement. L'objet message contient des informations en lecture seule sur l'événement qui s'est produit. Le type de l'objet message indique le type de l'événement qui s'est produit.

Les composants FireMonkey invoquent également des messages RTL pour communiquer entre eux.

Les composants FireMonkey envoient des messages au Gestionnaire de messagespar défaut. Pour obtenir la liste des types de messages FireMonkey, voir Liste des types de messages FireMonkey.

Support VCL pour les messages RTL

Le framework VCL n'utilise pas la solution de messagerie multiplate-forme RTL ; il utilise la solution de messagerie de l'API Windows à la place. Cela signifie que la VCL ne convertit pas les messages Windows en messages RTL à votre place, et que les composants VCL communiquent entre eux en utilisant l'API Windows.

Vous pouvez utiliser des messages RTL dans votre projet seulement si vous n'avez pas besoin de capturer les messages des composants Windows ou VCL. Par exemple, vous pouvez utiliser des messages RTL pour gérer des threads dans une application multithread ou pour écrire des composants qui envoient et reçoivent des messages seulement entre eux.

Si vous avez besoin d'accéder aux messages des composants Windows ou VCL, vous devez effectuer l'une des opérations suivantes :

Rubriques

Voir aussi