Communication avec des fournisseurs à l'aide d'événements personnalisés

De RAD Studio
Aller à : navigation, rechercher

Remonter à Transmission de paramètres à l'ensemble de données source


Les ensembles de données client communiquent avec un composant fournisseur par le biais d'une interface spéciale appelée Datasnap.Midas.IAppServer. Si le fournisseur est local, IAppServer est l'interface vers un objet auto-généré qui gère toute la communication entre l'ensemble de données client et son fournisseur. Si le fournisseur est distant, IAppServer est l'interface vers un module de données distant sur le serveur d'application ou (dans le cas d'un serveur SOAP) une interface générée par le composant connexion.

TClientDataSet offre de nombreuses possibilités de personnalisation de la communication qui utilise l'interface IAppServer. Avant et après chaque appel de méthode IAppServer dirigé vers le fournisseur de l'ensemble de données client, TClientDataSet reçoit des événements spéciaux qui lui permettent d'échanger des informations quelconques avec son fournisseur. Ces événements correspondent à des événements similaires du fournisseur. Et, par exemple, quand l'ensemble de données client appelle sa méthode ApplyUpdates, les événements suivants se produisent :

  1. L'ensemble de données client reçoit un événement BeforeApplyUpdates, où il spécifie des informations personnalisées dans un OleVariant nommé OwnerData.
  2. Le fournisseur reçoit un événement BeforeApplyUpdates, où il peut répondre à OwnerData depuis l'ensemble de données client et mettre à jour la valeur de OwnerData avec les nouvelles informations.
  3. Le fournisseur poursuit son processus normal d'assemblage d'un paquet de données (comprenant tous les événements qui l'accompagnent).
  4. Le fournisseur reçoit un événement AfterApplyUpdates, où il peut répondre à la valeur courante de OwnerData et la mettre à jour en lui donnant une valeur pour l'ensemble de données client.
  5. L'ensemble de données client reçoit un événement AfterApplyUpdates, où il peut répondre à la valeur renvoyée de OwnerData.

Les appels aux autres méthodes de IAppServer sont accompagnés d'un ensemble semblable d'événements BeforeXXX et AfterXXX qui vous permettent de personnaliser la communication entre l'ensemble de données client et son fournisseur.

En outre, l'ensemble de données client dispose d'une méthode spéciale, DataRequest, dont le seul but est de permettre une communication avec le fournisseur spécifique à l'application. Quand l'ensemble de données client appelle DataRequest, il transmet un OleVariant en tant que paramètre pouvant contenir les informations que vous voulez. En retour, est généré l'événement OnDataRequest sur le fournisseur, où vous pouvez répondre d'une façon quelconque définie dans l'application et renvoyer une valeur à l'ensemble de données client.

Voir aussi