Erstellen der Serveranwendung (TObjects- und DataSnap-Tutorial)
Nach oben zu Tutorial: Übergeben von normalen Delphi-Objekten (PODO) mit DataSnap
Erstellen der Serveranwendung
Führen Sie zum Erzeugen der Serveranwendung die folgenden Schritte aus:
1. Öffnen Sie RAD Studio.
2. Wählen Sie Datei > Neu > Weitere.
3. Erweitern Sie in der linken Spalte C++Builder-Projekte oder Delphi-Projekte.
4. Wählen Sie im Knoten DataSnap-Server das Element DataSnap-Server aus, und klicken Sie auf "OK".
5. Legen Sie den Anwendungstyp fest:
-
- Wählen Sie Formularanwendung, und klicken Sie auf "Weiter".
- Wählen Sie FireMonkey-Anwendung, und klicken Sie auf "Weiter".
- Behalten Sie die Vorgabewerte bei, damit das TCP/IP-Protokoll verwendet wird.
- Deaktivieren Sie das Kontrollkästchen Beispielmethoden, und klicken Sie auf "Weiter".
- Klicken Sie zur Überprüfung, ob der Port 211 geöffnet ist, auf Port testen und dann auf "Weiter".
- Belassen Sie TComponent ausgewählt, und klicken Sie auf "Fertig stellen".
- Speichern Sie Ihr Projekt, indem Sie in der Menüleiste auf die Schaltfläche Alles speichern klicken, und speichern Sie alle Elemente in demselben Ordner.
Hinweis: Nennen Sie zur einfachen Verwendung die erste Unit FormServerUnit und das Projekt PODOServer.
6. Wählen Sie einen der folgenden Befehle aus:
-
- Für Delphi: Datei > Neu > Unit - Delphi
- Für C++: Datei > Neu > Unit - C++Builder
7. Speichern Sie die Unit unter SharedStuffUnit.
8. Deklarieren Sie in der Unit SharedStuffUnit die Klasse TPerson:
Delphi:
TPerson = class (TObject)
public
property Lastname: string;
property Firstname: string;
constructor Create(ALast, AFirst: string);
function ToString: string; override;
end;
C++Builder:
class TPerson: public TObject {
public:
UnicodeString Lastname;
UnicodeString Firstname;
TPerson(String ALast, String AFirst);
__fastcall UnicodeString ToString(void);
};
9. Delphi:
Generieren Sie mit der Tastenkombination Strg+Umschalt+C die Getter und Setter (Methoden zum Ermitteln und Setzen von Werten).
TPerson = class (TObject)
private
FLastName: string;
FFirstname: string;
procedure SetFirstname(const Value: string);
procedure SetLastName(const Value: string);
public
property LastName: string read FLastName write SetLastName;
property Firstname: string read FFirstname write SetFirstname;
constructor Create(ALast, AFirst: string);
function ToString: string; override;
end;
10. Implementieren Sie in der Unit SharedStuffUnit den Konstruktor für die Klasse TPerson:
Delphi:
constructor TPerson.Create(ALast, AFirst: string);
begin
FLastName := ALast;
FFirstName := AFirst;
end;
C++Builder:
TPerson::TPerson(String ALast, String AFirst)
{
Lastname = ALast;
Firstname = AFirst;
}
11. Überschreiben Sie in der Unit SharedStuffUnit die Funktion ToString:
Delphi:
function TPerson.ToString
begin
Result := Firstname + ' ' + Lastname;
end;
C++Builder:
UnicodeString __fastcall TPerson::ToString(void)
{
return Firstname + " " + Lastname;
}
-
-
- Die Funktion ToString ist von TObject geerbt, daher muss sie überschrieben werden.
-
12. Wählen Sie in der Unit ServerMethodsUnit1 Datei > Unit verwenden... aus, fügen Sie die Unit SharedStuffUnit hinzu, und klicken Sie auf "OK".
13. Deklarieren Sie im public-Bereich der Unit ServerMethodsUnit die Funktion GetPerson:
Delphi:
function GetPerson(aFirst, aLast: string): TPerson;
C++Builder:
TPerson __fastcall TPerson::GetPerson(String ALast, String AFirst);
-
-
- Mit GetPerson wird eine neue Instanz einer TPerson-Klasse erstellt und mit den angegebenen FirstName und LastName zurückgegeben.
-
14. Legen Sie das Ergebnis der Funktion fest:
Delphi:
function TServerMethods1.GetPerson(aFirst, aLast: string): TPerson;
begin
Result := TPerson.Create(ALast, AFirst);
end;
C++Builder:
TPerson *TServerMethods1::GetPerson(String ALast, String AFirst)
{
TPerson *p;
p = new TPerson(ALast, AFirst);
return p;
}
15. Wählen Sie Start > Start, oder drücken Sie F9, um den Server auszuführen.
16. Minimieren Sie das Serverfenster, und fahren Sie mit dem nächsten Schritt, dem Erstellen der Client-Anwendung, fort.