Kommunikation mit der Client-Datenmenge
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
- Auf Client-Datenanforderungen antworten
- Auf Client-Ereignisse reagieren
- Server-Beschränkungen
- Auf Aktualisierungsanforderungen des Client reagieren
- Datenpakete zusammenstellen
- Aktualisierungen mit einem Datenmengen-Provider eintragen
- Die Datenquelle festlegen