2016-10-24 5 views
3

私はLiveBindingの目的を理解していません。私は、LiveBindingが最も価値のあるケースがどれであるかを知りたいと思います。 Embarcaderoのマニュアルには、「LiveBindingは、RAD StudioのVCLフレームワークとFireMonkeyフレームワークの両方でサポートされているデータバインディング機能です.LBバインディングは式ベースのフレームワークです。つまり、bin dings式を使用してオブジェクトを他のオブジェクトまたはデータセットフィールド"
ありがとうございますが、私はまだ前より多くを知らない。LiveBindingの使用

私は男が12分と100分のクリックを過ごして、TLabelのキャプションをTListBoxコントロールに接続するビデオを見てきました。ユーザーがListBoxでアイテムをクリックすると、そのアイテムの名前がLabelに表示されます。私は1行のコード(キーストロークが少ない、マウスがクリックされない)でこれを行うことができました。 私はLiveBindingを批判していません。私はどこに役立つのか分かりません。私は何かが足りない。コードからはできないことをしていないので、コードから行うことができますが、視覚的かつはるかに高速です。私はこの話題に多くの時間を費やしたことは認めていませんが、どこでも私は単純な作業を行うためにひどく複雑な方法を見ています(実際にはLiveBindingを動作させるために5つの特別なコントロールが必要です)。

また、LiveBindingは主にDB用に設計されているようです。すべての例には、何らかの種類のDB接続が含まれます。しかし、私は明らかにLiveBindingを使用でき、データセットやDBがない場合にのみ関心があります。私はそれほどDBを使用していません。

答えて

4

私は、従来のdb対応のVCLコンポーネントを使用することができれば誰でもライブバインディングを使用することが多いと思います。しかし、これは非VCLプロジェクト(Android、Appleなど)のオプションではなく、ライブバインディングは、TDataSet子孫からのデータにデータを配信する唯一のEmba提供オプションです。

ライブバインディングの利点は、AndroidターゲットとAppleターゲットに加えて、Windowsアプリケーションで使用できるため、同じ3つのアプリケーション(FMXベース)を作成できる可能性があるということです。

LIBE結合できもVCLアプリケーションで使用することが、彼らは唯一のWindowsのDBアプリケーションをターゲットとしたならば、誰もがライブバインディングを使用する理由TBH、私は彼らがそうであるように、想像できないあまりに遅いです従来のDB対応コントロール、特にグリッドなどの複数行のコントロールよりも優れています。

私は自分自身を試していませんが、ライブバインディングの実装はインターフェイスベースであるため、DBアプリケーションをはるかに超えていますが、インターフェイスを自分で実装する必要があります。これはかなり抽象的な表現評価エンジンに基づいているようです。

l.b.を設定します。 IDEのプロジェクトでは、従来のVCLアプリケーションから慣れるよりもかなりクリックする必要があるようですが、IDEにGUIオブジェクトをバインドする方法を伝える追加のステップがあるためですデータソース。しかし、必要に応じて、ライブバインディングをコード内で完全に「結びつける」ことは非常に簡単です。

+0

Hm ...私はVCL、非DBアプリケーションのみを行っているので、LiveBindingパッケージを無効にできるかどうか疑問に思っています:) – Ampere

+1

コンポーネント| IDEにパッケージをインストールすると、隣に3つのLBパッケージが表示され、Embarcadero LiveBindingsコンポーネントと他の2つのパッケージが表示されます。必要に応じてそれらを削除しますが、私はIDEで作業する点であなたが何を購入しているのか分かりません。 – MartynA

+0

オブジェクトインスペクタで1秒未満の読み込み時間が短縮され、プロパティが少なくなる可能性があります。特に私が今までに使用したことのない多くの特性があるので、最後のものは魅力的です。 IDEが重要なプロパティ(名前、値、位置、整列、キャプション、テキストなど)をリストの上に置くといいでしょう! – Ampere

関連する問題