Création de l'application client (tutoriel Filtres de communication)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Tutoriel : Filtres de communication Delphi DataSnap


Création de l'application client

1. Cliquez avec le bouton droit sur le groupe de projets, sélectionnez Ajouter un nouveau projet puis Application Fiches VCL, et appuyez sur OK.

2. Enregistrez le projet dans le même emplacement que le serveur et définissez le nom de la première unité sur FormClientUnit.pas.

3. Dans la page de conception FormClientUnit, ajoutez un composant TEdit et un composant TButton en utilisant la Palette d'outils sur la droite. Définissez le libellé du bouton sur "Reverse".

4. Ajoutez un composant TSQLConnection depuis la Palette d'outils.

TSQLConnections est le composant qui ajoute la connectivité au serveur DataSnap.
Cf4.png


5. Sélectionnez la propriété Driver du SQLConnection et choisissez Datasnap.

6. Définissez la propriété LoginPrompt du SQLConnection sur False.

7. Sélectionnez la propriété Driver > Filters du SQLConnection et définissez le même filtre que le serveur (ZLibCompression).

Le serveur applique une compression (type ZIP) au flux de données, et le client doit savoir comment décompresser ce flux de données.

8. Définissez la propriété Connected du SQLConnection sur True.

9. Cliquez avec le bouton droit sur l'icône SQLConnection et sélectionnez Générer les classes client DataSnap.

  • La page correspondante est affichée. Enregistrez cette unité sous proxy.pas, dans le même emplacement que les fichiers précédemment enregistrés.
Cf5.png


10. Basculez sur FormClientUnit, sélectionnez Fichier > Utiliser l'unité > proxy.pas, et appuyez sur OK.

L'unité proxy a été ajoutée à la clause uses du projet client.

11. Basculez sur la page de conception du FormClientUnit et double-cliquez sur le bouton Reverse que vous avez précédemment ajouté.

Vous êtes redirigé vers la page de code, où les fonctionnalités du bouton doivent être implémentées.

12. Dans la procédure correspondante du bouton, implémentez ses fonctionnalités (pour remplacer la chaîne de la zone d'édition par sa chaîne inverse) :

  • Déclarez et instanciez une variable aClient :
 var aClient := TServerMethods2Client.Create(SQLCOnnection1.DBXConnection);
 TServerMethods2Client *aClient = TServerMethods2Client(SQLCOnnection1->DBXConnection);
  • Définissez le texte du composant TEdit depuis le FormClientUnit :
 Edit1.Text := aClient.ReverseString(Edit1.Text);
 Edit1->Text = aClient->ReverseString(Edit1->Text);
Cf6.png


13. Ajoutez l'unité DBXCompressionFilter à la clause uses du client.

  • Sinon, une notification d'exception du débogueur sera déclenchée avec le message suivant : Argument incorrect.
  • L'unité DBXCompressionFilter a dans son initialisation une méthode RegisterFilter(TTransportCompressionFilter) nécessaire à l'application pour recenser le TTransportCompressionFilter, le rendant ainsi détectable. De cette façon, la communication peut être réalisée via les données compressées.
  • Pour implémenter votre propre filtre de communication, vous devez définir une classe qui dérive de TTransportFilter. L'implémentation minimale consiste à redéfinir les fonctions Id, ProcessInput et ProcessOutput.

14. Exécutez le client en appuyant sur F9.

Suivant

Précédent

Voir aussi