Refactoring der App-Tethering-Kommunikation in Seattle

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Neuerungen


Die für die Kommunikation zwischen App-Tethering-Anwendungen verantwortliche App-Tethering-API wurde einer Umgestaltung unterzogen, um Protokolle von den Besonderheiten der übertragenen Daten zu entkoppeln, die Kommunikation zu vereinfachen und die Funktionalität der Basisklasse für Profile zu erweitern und so das Erstellen Ihres Profils zu erleichtern.

Protokolle übertragen Daten, Profile behandeln Daten

In XE8 waren Protokollklassen für die Analyse der eingehenden Daten und für das Erstellen von App-Tethering-Befehlen aus den empfangenen Daten zuständig, um diese Befehle an die Profilklasse zu übergeben. In Seattle dienen Protokollklassen lediglich als Zwischenphase beim Senden und Empfangen von Daten-Streams, und Profile sind für die Serialisierung und Deserialisierung von App-Tethering-Befehlen zuständig.

Die folgende Tabelle enthält Member, die von Protokollklassen in Profilklassen verschoben wurden:

XE8 Seattle
Klasse Member Member Klasse
TTetheringProtocol DoReceiveCommand DoReceiveCommand TTetheringProfile
DoSendCommand DoSendCommand
ReadCommand ReceiveCommand
ReceiveCommand
SendCommand SendCommand
SendCommandWithResponse SendCommandWithResponse

Eingehende App-Tethering-Befehle werden nicht mehr über Ereignisse, wie TTetheringProtocol.OnCommand oder TTetheringProfile.OnCommand öffentlich (public) bereitgestellt. Stattdessen müssen Profilklassen DoOnIncomingData für die Analyse und Behandlung von eingehenden Befehlen implementieren.

Protokollklassen stellen die Ereignisse OnStreamReceived und OnStringReceived nicht mehr bereit. Verwenden Sie stattdessen die entsprechenden Ereignisse aus Profilklassen: OnStreamReceived und OnStringReceived.

Profile behandeln Remote-Profile und Verbindungen

Die Logik für die Behandlung von Remote-Profilen und Verbindungen wurde aus der Anwendungsprofilklasse in die Profilbasisklasse verschoben, damit Sie sie in eigenen Profilen verwenden können. Als Folge erhielt TTetheringProfile die folgenden protected Member, die Sie beim Erstellen von Unterklassen verwenden können:

Sonstige Änderungen