Tutorial: Implementieren einer FireDAC-EMS-Client-Anwendung
Nach oben zu EMS-Client-Anwendung
Sie können einen Client für die Verbindung zum EMS-Server über die FireDAC-Entwickler-API erstellen, die Sie zuvor mit einem EMS-Package eingerichtet haben.
Diese Client-Beispielanwendung basiert auf der Ressource, die im Tutorial: Implementieren einer FireDAC-EMS-Ressource erstellt wurde.
Erstellen Sie eine VCL-Anwendung und fügen Sie dem Projekt ein TDataModule hinzu:
- Für Delphi
- Datei > Neu > VCL-Formularanwendung - Delphi.
- Klicken Sie in der Projektverwaltung mit der rechten Maustaste, und wählen Sie Neue hinzufügen > Weitere > Objektgalerie.
- Wählen Sie Delphi-Projekte > Delphi-Dateien > Datenmodul, und klicken Sie auf OK.
- Für C++:
- Datei > Neu > VCL-Formularanwendung - C++Builder.
- Klicken Sie in der Projektverwaltung mit der rechten Maustaste, und wählen Sie Neue hinzufügen > Weitere > Objektgalerie.
- Gehen Sie zu C++Builder-Projekte > C++Builder-Dateien > Datenmodul und klicken Sie auf OK.
Platzieren Sie im TDataModule die FireDAC-Komponenten, die Sie für die Verarbeitung der JSON-Daten vom EMS-Server benötigen.
Fügen Sie die folgenden Komponenten hinzu:
- Eine TFDGUIxWaitCursor-Komponente.
- Eine TFDSchemaAdapter-Komponente zum Anpassen des JSON-Ergebnisses.
- Zwei TFDTableAdapter-Komponenten zum Anpassen des Inhalts der beiden Tabellen.
- Setzen Sie die Eigenschaft DatSTableName auf den Namen von TFDQueries aus dem TDataModule. Verwenden Sie QEmployee und QCustomers für dieses Tutorial.
- Setzen Sie die Eigenschaft SchemaAdapter auf den Namen des TFDSchemaAdapter.
- Zwei TFDMemTable-Komponenten.
- Setzen Sie die Namen auf mtEmployees und mtCustomers.
- Setzen Sie die Eigenschaft Adapter auf den Namen des entsprechenden TFDTableAdapter.
- Setzen Sie die Eigenschaft CachedUpdates auf
True
. Sie müssen diese Option aktivieren, damit die Informationen aus den Tabellen aktualisiert werden.
- Zwei TDataSource-Komponenten.
- Setzen Sie die Eigenschaft DataSet auf den Namen der entsprechenden TFDMemTable.
Fügen Sie im Client-Formular das TDataModule in den implementation-Abschnitt ein:
- Für Delphi:
implementation
{$R *.dfm}
uses Unit3;
- Für C++ (In der Datei Unit1.cpp):
#include "Unit2.h"
Fügen Sie dem Client-Formular die folgenden Komponenten hinzu:
- Zwei TDBGrid-Komponenten zum Anzeigen und Aktualisieren der Daten aus den Tabellen.
- Setzen Sie die Eigenschaft DataSource auf die Datenquelle im TDataModule. Dieser Schritt ist erforderlich, um die Daten in der Tabelle anzuzeigen.
- Zwei TButton-Komponenten: eine zum Abrufen der Daten und die andere zum Eintragen der Aktualisierungen.
- Eine TEMSProvider-Komponente, um die Konfiguration auf den EMS-Server zu setzen.
- Setzen Sie URLHost auf die IP-Adresse des Servers (standardmäßig localhost).
- Setzen Sie URLPort auf den Port des Servers (standardmäßig 8080).
- Eine TEMSFireDACClient-Komponente für die Verbindung zum TFDSchemaAdapter aus dem Client-TDataModule.
- Setzen Sie die Eigenschaft Provider auf den Namen des TEMSProvider.
- Setzen Sie die Eigenschaft Resource auf den Namen der Ressource, auf die Sie zugreifen möchten. Verwenden Sie FireDACTest für dieses Tutorial.
- Setzen Sie die Eigenschaft SchemaAdapter auf den Namen des TFDSchemaAdapter aus dem TDataModule, z. B. ClientModule.FDSchemaAdapter2.
- Eine TActionList-Komponente zum Definieren von Aktionen zum Abrufen und Aktualisieren der Daten.
- Klicken Sie mit der rechten Maustaste, und wählen Sie Aktionslisten-Editor....
- Erstellen Sie zwei neue Aktionen, und ändern Sie die Eigenschaft Name der Aktionen in ActionGetTables und ActionPostUpdates.
- Doppelklicken Sie auf die Ereignisbehandlungsroutine OnExecute der Aktionen, um die Prozeduren zu erstellen.
Geben Sie den Code für die Prozedur GetTablesExecute ein:
- Für Delphi:
procedure TClientForm.ActionGetTablesExecute(Sender: TObject);
begin
EMSFireDACClient1.GetData;
end;
- Für C++ (In der Datei Unit1.cpp):
void __fastcall TForm1::ActionGetTablesExecute(TObject *Sender) {
EMSFireDACClient1->GetData();
}
Geben Sie den Code für die Prozedur PostUpdatesExecute ein:
- Für Delphi:
procedure TClientForm.ActionPostUpdatesExecute(Sender: TObject);
begin
EMSFireDACClient1.PostUpdates;
end;
- Für C++ (In der Datei Unit1.cpp):
void __fastcall TForm1::ActionPostUpdatesExecute(TObject *Sender) {
EMSFireDACClient1->PostUpdates();
}
- Setzen Sie die Eigenschaft Action der Schaltfläche Get Tables auf ActionGetTables und die Ereignisbehandlungsroutine OnClick auf ActionGetTablesExecute.
- Setzen Sie die Eigenschaft Action der Schaltfläche Post Updates auf ActionPostUpdates und die Ereignisbehandlungsroutine OnClick auf ActionPostUpdatesExecute.
Testen der neuen EMS-FireDAC-Anwendung
Um Ihr Projekt in einer Entwicklungsumgebung zu testen, stellen Sie sicher, dass die FireDAC-EMS-Ressource auf Ihrem EMS-Server ausgeführt wird.
- Um Ihr Projekt auszuführen, drücken Sie F9 oder wählen Start > Start.
- Klicken Sie auf die Schaltfläche ActionGetTables, um die Daten aus der Datenbank abzurufen.
- Aktualisieren Sie jeden beliebigen Wert und klicken Sie auf die Schaltfläche ActionPostUpdates, um die neuen Daten in der Datenbank zu speichern.