Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

アルバムアプリをモバイル対応するためにDelphiサーバーアプリを作成してみる

コンポーネントを使ってスマホから閲覧できる写真アプリのサーバー機能をすばやく実装

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/12/24 14:00

目次

EMSクライアントアプリケーションを作る

EMSクライアント用のコンポーネント

 クライアントアプリの実装にも、コンポーネントを活用することができます。これまでと同様のUIに対し、以下のコンポーネントを配置することでEMSサーバーからデータセットを受け取ることができます。

図9 EMSに接続するためのコンポーネント

 EMSProviderは、EMSサーバーへの接続を定義します。ホストのURLやポートを定義することで、EMSサーバーへの接続を確立できます。EMSFireDACClientは、FireDACのデータ形式をEMSでハンドリングするためのクライアントモジュールです。この2つのコンポーネントだけで、EMSサーバーから結果セットを取得できます。

 取得した結果セットは、FDMemTableを使ってメモリ上に展開します。このコンポーネントは、FDQueryなどと同じデータセットオブジェクトなので、データの閲覧や編集などを、通常のデータベースアプリケーションのように実装できます。ここでも、取得したデータをFDMemTableに展開するためにFDSchemaAdapter、FDTableAdapterなどのアダプターコンポーネントを使います。

 コンポーネントをプロパティの設定によって関連付けるだけで、一切コードを記述することなく、EMSサーバーから取得したデータをデータセットオブジェクトに格納できます。

ビジュアル操作でデータをUIに結び付ける

 必要なプロパティを設定したら、UIとデータセットを結びつけます。ここで活躍するのがVisual LiveBindingsです。ただ、データセットの各フィールドの定義は、設計時には取得できないので、適切なフィールドをあらかじめ定義し、静的にフィールドとUIを結びつけるようにします。

図10 Visual LiveBindingsによるUIとの接続

エンドポイントを呼び出すコード

 以上でUIの定義は完了です。あとは、EMSサーバーからデータセットを取得するコードを記述します。今回は、ボタンを押してデータを取得するように、以下のコードを記述しておきます。

procedure; TMyAlbumResource1.Get(const; AContext: TEndpointContext; const ARequest: procedure TEMSAlbumAppForm.Button1Click(Sender: TObject);
begin
  EMSFireDACClient1.GetData;
end;

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • EDN編集部(イーディーエヌ編集部)

    エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

バックナンバー

連載:EDN CodeZine出張所

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5