アルバムアプリをモバイル対応するためにDelphiサーバーアプリを作成してみる
コンポーネントを使ってスマホから閲覧できる写真アプリのサーバー機能をすばやく実装
EMSクライアントアプリケーションを作る
EMSクライアント用のコンポーネント
クライアントアプリの実装にも、コンポーネントを活用することができます。これまでと同様のUIに対し、以下のコンポーネントを配置することでEMSサーバーからデータセットを受け取ることができます。
EMSProviderは、EMSサーバーへの接続を定義します。ホストのURLやポートを定義することで、EMSサーバーへの接続を確立できます。EMSFireDACClientは、FireDACのデータ形式をEMSでハンドリングするためのクライアントモジュールです。この2つのコンポーネントだけで、EMSサーバーから結果セットを取得できます。
取得した結果セットは、FDMemTableを使ってメモリ上に展開します。このコンポーネントは、FDQueryなどと同じデータセットオブジェクトなので、データの閲覧や編集などを、通常のデータベースアプリケーションのように実装できます。ここでも、取得したデータをFDMemTableに展開するためにFDSchemaAdapter、FDTableAdapterなどのアダプターコンポーネントを使います。
コンポーネントをプロパティの設定によって関連付けるだけで、一切コードを記述することなく、EMSサーバーから取得したデータをデータセットオブジェクトに格納できます。
ビジュアル操作でデータをUIに結び付ける
必要なプロパティを設定したら、UIとデータセットを結びつけます。ここで活躍するのがVisual LiveBindingsです。ただ、データセットの各フィールドの定義は、設計時には取得できないので、適切なフィールドをあらかじめ定義し、静的にフィールドとUIを結びつけるようにします。
エンドポイントを呼び出すコード
以上でUIの定義は完了です。あとは、EMSサーバーからデータセットを取得するコードを記述します。今回は、ボタンを押してデータを取得するように、以下のコードを記述しておきます。
procedure; TMyAlbumResource1.Get(const; AContext: TEndpointContext; const ARequest: procedure TEMSAlbumAppForm.Button1Click(Sender: TObject); begin EMSFireDACClient1.GetData; end;
この記事は参考になりましたか?
- この記事の著者
-
EDN編集部(イーディーエヌ編集部)
エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
