Création de l'application serveur (tutoriel TObjects et DataSnap)
Remonter à Tutoriel : Passage de PODO (Plain Old Delphi Objects) avec DataSnap
Création de l'application serveur
Pour construire le serveur, suivez les étapes ci-après :
1. Ouvrez RAD Studio.
2. Sélectionnez Fichier > Nouveau > Autre.
3. Depuis le noeud Serveur DataSnap de la colonne de gauche, sélectionnez Serveur DataSnap et appuyez sur OK.
4. Spécifiez le type de l'application :
- Sélectionnez Application Fiches VCL et appuyez sur Suivant.
- Conservez les valeurs par défaut afin d'utiliser le protocole TCP/IP.
- Effacez la génération de Méthodes exemple et appuyez sur Suivant.
- Appuyez sur Tester le port pour vérifier si le port 211 est ouvert et appuyez sur Suivant.
- Conservez le TComponent sélectionné par défaut et appuyez sur Terminer.
- Enregistrez votre projet en appuyant sur le bouton Tout enregistrer de la barre de menus, et enregistrez tous les éléments dans le même dossier.
- Pour un meilleur usage, nommez la première unité FormServerUnit.pas et le projet -- PODOServer.
5. Sélectionnez Fichier > Nouveau > Autre et, depuis le noeud Fichiers Delphi de la colonne de gauche, sélectionnez Unité, appuyez sur OK, et enregistrez-la sous SharedStuffUnit.pas.
6. Dans l'unité SharedStuffUnit, déclarez une classe TPerson :
TPerson = class (TObject) public property Lastname: string; property Firstname: string; constructor Create(ALast, AFirst: string); function ToString: string; override; end;
class TPerson : public TObject { public: UnicodeString Lastname; UnicodeString Firstname; __fastcall TPerson(String ALast, String AFirst); __fastcall UnicodeString ToString(void); };
7. Générez les accesseurs en lecture et les accesseurs en écriture en utilisant la combinaison de touches Ctrl + Maj + C.
8. Implémentez le constructeur pour la classe TPerson depuis l'unité SharedStuffUnit :
constructor TPerson.Create(ALast, AFirst: string); begin FLastName := ALast; FFirstName := AFirst; end;
__fastcall TPerson::TPerson(String ALast, String AFirst) { Lastname = ALast; Firstname = AFirst; }
9. Dans l'unité SharedStuffUnit, redéfinissez la fonction ToString :
function TPerson.ToString begin Result := Firstname + ' ' + Lastname; end;
UnicodeString __fastcall TPerson::ToString(void) { return Firstname + " " + Lastname; }
- ToString est une fonction héritée du TObject, elle doit donc être redéfinie.
10. Basculez sur ServerMethodsUnit et ajoutez SharedStuffUnit.pas dans la clause uses de l'interface. Appuyez sur OK.
11. Dans la zone public de l'unité ServerMethodsUnit, déclarez la fonction GetPerson :
function GetPerson(aFirst, aLast: string): TPerson;
TPerson __fastcall TPerson::GetPerson(String ALast, String AFirst);
- GetPerson est utilisée pour créer et renvoyer une nouvelle instance d'une classe TPerson, avec les FirstName et LastName donnés.
12. Appuyez sur Ctrl + Maj + C et définissez le résultat de la fonction :
Result := TPerson.Create(ALast, AFirst);
TPerson *p; p = new TPerson(ALast, AFirst); return p;
13. Exécutez le serveur et minimisez sa fenêtre.


