Kommunikation mit der Client-Datenmenge

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Provider-Komponenten - Index


Die gesamte Kommunikation zwischen einem Provider und einer Client-Datenmenge oder einem XML-Broker erfolgt über eine Datasnap.Midas.IAppServer-Schnittstelle. Existiert der Provider innerhalb derselben Anwendung wie der Client, wird diese Schnittstelle entweder automatisch von einem verborgenen Objekt oder manuell mithilfe einer Datasnap.Win.TConnect.TLocalConnection-Komponente generiert. Ist der Provider Teil einer mehrschichtigen Anwendung, so handelt es sich um die Schnittstelle für das Remote-Datenmodul des Anwendungsservers oder (im Falle eines SOAP-Servers) um eine von der Verbindungskomponente erstellte Schnittstelle.

Die meisten Anwendungen benutzen IAppServer nicht direkt, sondern rufen sie indirekt über die Eigenschaften und Methoden der Client-Datenmenge oder des XML-Brokers auf. Bei Bedarf können Sie die IAppServer-Schnittstelle aber auch direkt über die Eigenschaft AppServer einer Client-Datenmenge ansprechen.

In der folgenden Tabelle sind die Methoden der Schnittstelle IAppServer sowie die entsprechenden Methoden und Ereignisse der Provider-Komponente und der Client-Datenmenge aufgeführt. Diese IAppServer-Methoden beinhalten den Parameter Provider. In mehrschichtigen Anwendungen bezeichnet dieser Parameter den Provider auf dem Anwendungsserver, mit dem die Client-Datenmenge kommuniziert. Die meisten Methoden enthalten auch einen Parameter vom Typ OleVariant mit dem Namen OwnerData, der es der Client-Datenmenge und dem Provider ermöglicht, eigene Informationen auszutauschen. OwnerData wird zwar nicht standardmäßig benutzt, aber allen Ereignisbehandlungsroutinen übergeben. Damit haben Sie die Möglichkeit, Code zu schreiben, mit dem Ihr Provider vor und nach jedem Aufruf durch eine Datenmenge auf anwendungsspezifische Informationen reagieren kann.

Elemente der Schnittstelle IAppServer:

IAppServer Provider-Komponenten TClientDataSet

Methode AS_ApplyUpdates

Methode ApplyUpdates, Ereignis BeforeApplyUpdates, Ereignis AfterApplyUpdates

Methode ApplyUpdates, Ereignis BeforeApplyUpdates, Ereignis AfterApplyUpdates

Methode AS_DataRequest

Methode DataRequest, Ereignis OnDataRequest

Methode DataRequest

Methode AS_Execute

Methode Execute, Ereignis BeforeExecute, Ereignis AfterExecute

Methode Execute, Ereignis BeforeExecute, Ereignis AfterExecute

Methode AS_GetParams

Methode GetParams, Ereignis BeforeGetParams, Ereignis AfterGetParams

Methode FetchParams, Ereignis BeforeGetParams, Ereignis AfterGetParams

Methode AS_GetProviderNames

Wird zur Identifizierung aller verfügbaren Provider benutzt.

Ermöglicht zur Entwurfszeit die Erstellung einer Liste für ProviderName (Eigenschaft)

Methode AS_GetRecords

Methode GetRecords, Ereignis BeforeGetRecords, Ereignis AfterGetRecords

Methode GetNextPacket, Eigenschaft Data, Ereignis BeforeGetRecords, Ereignis AfterGetRecords

Methode AS_RowRequest

Methode RowRequest, Ereignis BeforeRowRequest, Ereignis AfterRowRequest

Methode FetchBlobs, Methode FetchDetails, Methode RefreshRecord, Ereignis BeforeRowRequest, Ereignis AfterRowRequest


Siehe auch

Codebeispiele