Verwendung von Callback-Funktionen
Nach oben zu DataSnap-Server-Anwendung
Callback-Funktionen sind nützlich, wenn der Server während der Ausführung einer Servermethode mit dem Client kommunizieren muss. Bei Callback-Funktionen kann ein JSON-Parameter an den Client übergegeben werden, und der Client kann wiederum einen JSON-Wert an den Server zurückgeben.
Für die Übergabe einer Callback-Funktion muss die Servermethode einen Parameter des Typs TDBXCallback - wie in dem folgenden Beispiel - haben:
procedure Callback(const PCallback: TDBXCallback);
In der Serverimplementierung kann die Callback-Funktion jederzeit aufgerufen werden:
PCallback.Execute(TJSONString.Create('test'));
Der Aufruf erfolgt synchron und gibt einen Client-JSON-Wert zurück.
Auf der Client-Seite muss eine TDBXCallback-Klasse erweitert und die Methode Execute überschrieben werden:
TCallbackClient = class(TDBXCallback)
function Execute(const Arg: TJSONValue): TJSONValue; override;
end;
Die Servermethode muss mit einer Instanz der Client-Callback-Klasse aufgerufen werden.
Die Proxy-Instanz oder der Server sind Eigentümer der Callback-Parameter. Die Parameter werden bei Beendigung freigegeben.
Siehe auch
- Grundlagen der mehrschichtigen Datenbank-Anwendungen
- Tutorial: Einen DataSnap-Server mit einer Anwendung verwenden
- Steuerelemente für DataSnap-Server
- Erstellen eines DataSnap-Servers
- DataSnap-Server-Experte
- Experte für DataSnap WebBroker-Anwendungen
- Video: Delphi Labs - Episode 11, von Paweł Głowacki