Erstellen der Client-Anwendung (Kommunikationsfilter-Tutorial)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Tutorial: Delphi-DataSnap-Kommunikationsfilter


Erstellen der Client-Anwendung

1. Klicken Sie mit der rechten Maustaste auf die Projektgruppe, wählen Sie Neues Projekt hinzufügen und dann VCL-Formularanwendung, und klicken Sie auf OK.

2. Speichern Sie das Projekt im selben Verzeichnis wie den Server, und nennen Sie die erste Unit FormClientUnit.pas.

3. Fügen Sie auf der Design-Seite der Unit FormClientUnit eine TEdit- und eine TButton-Komponente aus der Tool-Palette hinzu. Ändern Sie den Titel der Schaltfläche in "Reverse".

4. Fügen Sie aus der Tool-Palette eine TSQLConnection-Komponente hinzu.

Mit der Komponente TSQLConnection wird dem DataSnap-Server die Konnektivität hinzugefügt.
Cf4.png


5. Wählen Sie die Eigenschaft Driver der SQLConnection-Komponente und dann Datasnap aus.

6. Ändern Sie die Eigenschaft LoginPrompt der SQLConnection-Komponente in False.

7. Wählen Sie die Eigenschaft Driver > Filters der SQLConnection-Komponente, und setzen Sie denselben Filter wie bei dem Server (ZLibCompression).

Der Server komprimiert den Daten-Stream (mit dem Komprimierungstyp ZIP), und der Client muss über die Art der Dekomprimierung dieses Daten-Streams informiert werden.

8. Ändern Sie die Eigenschaft Connected der SQLConnection-Komponente in True.

9. Klicken Sie mit der rechten Maustaste auf das SQLConnection-Symbol, und wählen Sie DataSnap-Client-Klassen erzeugen.

  • Die entsprechende Seite wird angezeigt. Speichern Sie diese Unit unter dem Namen proxy.pas in demselben Verzeichnis wie die vorherigen Dateien.
Cf5.png


10. Wechseln Sie zur Unit FormClientUnit, wählen Sie Datei > Unit verwenden > proxy.pas aus, und klicken Sie auf OK.

Die Unit Proxy wird der uses-Klausel des Client-Projekts hinzugefügt.

11. Wechseln Sie auf die Design-Seite der Unit FormClientUnit, und doppelklicken Sie auf die Schaltfläche Reverse, die Sie zuvor hinzugefügt haben.

Der Quelltext-Editor wird an der Stelle im Code geöffnet, an der die Funktionalität der Schaltfläche implementiert werden muss.

12. Implementieren Sie in der Prozedur der Schaltfläche die Funktionalität (zum Ändern des Strings in dem Eingabefeld in den umgekehrten String):

  • Deklarieren und instantiieren Sie eine aClient-Variable:
 var aClient := TServerMethods2Client.Create(SQLCOnnection1.DBXConnection);
 TServerMethods2Client *aClient = TServerMethods2Client(SQLCOnnection1->DBXConnection);
  • Setzen Sie den Text der TEdit-Komponente der Unit FormClientUnit:
 Edit1.Text := aClient.ReverseString(Edit1.Text);
 Edit1->Text = aClient->ReverseString(Edit1->Text);
Cf6.png


13. Fügen Sie der uses-Klausel des Clients die Unit DBXCompressionFilter hinzu.

  • Ansonsten würde eine Benachrichtigung über Debugger-Exception mit der folgenden Meldung ausgegeben: Ungültiges Argument.
  • In der Initialisierung der Unit DBXCompressionFilter ist die Methode RegisterFilter(TTransportCompressionFilter) enthalten, die für die Anwendung zum Registrieren des TTransportCompressionFilter erforderlich ist, und dieser dadurch gefunden werden kann. Auf diese Weise kann die Kommunikation mit komprimierten Daten erfolgen.
  • Zur Implementierung eines eigenen Kommunikationsfilters müssen Sie eine von TTransportFilter abgeleitete Klasse definieren. Die minimalste Implementierung besteht aus dem Überschreiben der Funktionen Id, ProcessInput und ProcessOutput.

14. Führen Sie den Client durch Drücken von F9 aus.

Weiter

Zurück

Siehe auch