SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

マウスで線を結ぶだけでデータとUIコントロールを連携させる

Delphi XE3、C++Builder XE3のVisual LiveBindingを使ってみる

  • X ポスト
  • このエントリーをはてなブックマークに追加

そこでLiveBinding

FireMonkeyフレームワーク

 Delphi / C++Builderでは、昨年のリリースでFireMonkeyという新しいコンポーネントフレームワークを導入しました。

図2 視覚的に訴えるアプリケーションを作成できるFireMonkey

 特長は3つあって、まず、マルチプラットフォーム対応であること。WindowsとMac OS X向けのGUIアプリケーションを構築できます。次に、ネイティブであること。CPU/GPUのフルパワーを使ってハイパフォーマンスで動きます。マルチプラットフォームだからといって性能では劣るということはありません。そして3番目は、ビジュアル的に優れていること。HD/3Dの高品質なグラフィックを使ったコンポーネントを利用できます。

LiveBindingとは

 こういう高機能なUIが出てくると、先に挙げた問題に新しいテクノロジーで対応する必要性が増してきます。LiveBindingはそのための機能として用意されていますが、簡単にまとめると、次のようなことをしてくれます。

  • UIコントロールのプロパティとオブジェクトを結び付けます
  • オブジェクトの値が変更されると、UIコントロールのプロパティを変更します
  • UIコントロールのプロパティが変更されると、オブジェクトの値を変更します

 これで何ができるようになるかというと、

  • UIコントロールとデータセットのフィールドを結び付け、表示・編集を自動化します
  • UIコントロール同士を結び付け、一方のコントロールに対する変更によって他方の状態を変化させることができます(例えば、チェックボックスをクリックすると入力ボックスが無効になるといった処理)
  • UIコントロールと任意のオブジェクトを結び付け、オブジェクトの表示・編集を自動化します

 これらは、いずれもコードを一行も記述しません。コンポーネントに用意されたLiveBindingのプロパティを設定するだけで、UIコントロールとデータを同期/変更ができます。

LiveBindingをビジュアルに

Delphi / C++Builder XE3の新機能Visual LiveBinding

 先日発売されたDelphi / C++Builderの最新バージョン「XE3」では、このLiveBindingが使いやすくなっています。その名も「Visual LiveBinding」。マウス操作で、ビジュアルにLiveBindingの設定ができるというツールです。

 UIコントロールは画面上に複数ありますし、データにもさまざまなフィールドがあります。これらを結び付ける作業は、前バージョンではオブジェクトインスペクタで行っていました。オブジェクトインスペクタは、選択したコンポーネントのプロパティを設定するために使います。

図3 オブジェクトインスペクタ

 複数あるUIコントロールにデータを結び付けるには、コンポーネントをひとつずつ選択して設定を行わなければなりませんし、どのような設定がなされているのか俯瞰することができません。

LiveBindingデザイナ

 Visual LiveBindingでは、LiveBindingデザイナというツールを使います。

図4 LiveBindingデザイナ

 ご覧のような画面で、データ(左のBindSourceDB1)とUIコントロール(Edit1、Memo1など)を結び付けます。「マウスを線で結ぶだけでデータとUIコントロールを連携させる」そのままですね。

 早速簡単なアプリケーションを作成して確認してみましょう。Visual LiveBindingはDelphi / C++Builderのどのようなアプリケーションでも利用できます。XE3では、Windows APIをカプセル化してWindows向けのビジュアル開発が可能なフレームワークVCL(これはDelphi 1の頃からありますね)と、Windows / Mac OS Xでクロス開発ができるFireMonkeyフレームワークを使用できます。Visual LiveBindingは、このどちらでも利用可能です。

 ここでは、FireMonkeyアプリケーションを作成してみましょう。

次のページ
コントロールのプロパティ同士をLiveBinding

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6771 2012/09/19 10:16

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング