Afficher : Delphi C++
Préférences d'affichage

LiveBindings dans RAD Studio

De RAD Studio

Remonter à Introduction à RAD Studio


LiveBindings est une fonctionnalité de liaison de données supportée par les frameworks VCL et FireMonkey dans RAD Studio. LiveBindings est un framework basé sur des expressions, ce qui signifie qu'il utilise des expressions de liaison pour lier des objets à d'autres objets, ou à des champs d'ensemble de données.

Sommaire

Présentation de LiveBindings

LiveBindings est basé sur les expressions relationnelles, appelées expressions de liaison, qui peuvent être unidirectionnelles ou bidirectionnelles. LiveBindings est aussi basé sur les objets contrôle et les objets source. Par le biais des expressions de liaison, tout objet peut être lié à un autre objet, simplement en définissant une expression de liaison impliquant une ou plusieurs propriétés des objets que vous voulez lier ensemble. Par exemple, vous pouvez lier un contrôle TEdit à un contrôle TLabel. Ainsi, quand le texte change dans la zone d'édition, l'intitulé du libellé est automatiquement ajusté à la valeur évaluée par votre expression de liaison. Un autre exemple est la liaison d'un contrôle barre de suivi à une barre de progression de telle sorte que la progression s'élève ou s'abaisse au fur et à mesure que vous déplacez la barre de suivi.

LBDConnection.png

De la même façon, vous pouvez établir la connexion à des champs d'ensemble de données, modifier une ou plusieurs propriétés d'objets différents, et ainsi de suite. Etant donné que la fonctionnalité LiveBindings se propage, vous pouvez même modifier les propriétés des objets connectés aux autres objets qui sont liés à un objet contrôle.

Création de LiveBindings

La principale méthode pour créer des liaisons consiste à utiliser le Concepteur LiveBindings. Il ne peut créer que des composants à liaison rapide (QuickBinding). Le graphe peut montrer des liaisons d'autres composants (telles que TBindLink), mais vous ne pouvez pas déplacer les points de fin comme c'est possible avec les composants à liaison rapide.

Il existe une seconde méthode pour créer de telles liaisons : l'utilisation de l'expert LiveBindings. Il ne crée aussi que des composants à liaison rapide.

Le Concepteur LiveBindings utilise QuickBindings pour créer ces types de liaisons (ce qui se reflète aussi dans l'expert):

  • Lier un contrôle tel que TEdit à un champ d'une source de données
  • Lier un contrôle tel que TGrid à une source de données
  • Lier un contrôle tel que TEdit à une propriété de composant (telle que TLabel.Text)
  • Lier une propriété de composant à un champ d'une source de données

Un contrôle ne peut être lié qu'à un seul point de fin. Ainsi, si un TEdit est lié à un champ et que vous essayez de lier le TEdit à une propriété de composant, le lien au champ sera supprimé. Une propriété de composant ne peut aussi être liée qu'à un seul point de fin. Les sources de données et leurs membres peuvent être liés à plusieurs points de fin. Par exemple, un champ peut être lié à un TEdit et aussi à un TLabel. Deux composants de liaison seront alors impliqués.

Même si le Concepteur LiveBindings ne permet pas à un contrôle d'être lié à deux autres propriétés de composant, il est possible d'obtenir cet effet en liant le contrôle et les propriétés de composant à un champ unique. Le TPrototypeBindSource peut être utilisé pour créer un champ à cet effet.

Le terme Lien utilisé dans LiveBindings et la documentation API indique que les liaisons reconnaissent les changements effectués par l'utilisateur et mettent à jour automatiquement les contrôles et les sources de données en réponse à l'entrée utilisateur.

Usage de LiveBindings

Vous pouvez utiliser LiveBindings dans les applications VCL et FireMonkey par le biais du Concepteur LiveBindings ou de l'expert LiveBindings, qui peut être invoqué depuis l'inspecteur d'objets ou en cliquant avec le bouton droit sur des composants individuels placés sur la fiche (mais seulement si c'est activé dans la boîte de dialogue Outils > Options > LiveBindings). Toutefois, il existe une façon moins simple d'utiliser LiveBindings par programme dans Applications console, si pour une raison quelconque vous devez le faire. Reportez-vous à la rubrique Création de LiveBindings, Nouveau LiveBinding ou Expert LiveBindings pour un aperçu rapide sur la façon de créer des LiveBindings dans RAD Studio.

Composants visuels LiveBindings

Le moteur LiveBindings est une fonctionnalité d'exécution, mais un certain nombre de composants visuels sont présents dans la palette de composants, afin de vous aider à créer des liaisons dynamiques entre les composants au moment de la conception. Toutefois, la plupart du temps vous créerez des liaisons visuellement, à l'aide de l'expert LiveBindings.

Si vous naviguez dans la palette de composants, vous trouverez dans l'onglet LiveBindings les composants suivants que vous pouvez faire glisser et déposer sur une fiche (VCL ou FMX).

Logo du composant Nom du composant Description
TBindSourceDB.png TBindSourceDB Est utilisé pour la création de liaisons aux bases de données.
TPrototypeBindSource.png TPrototypeBindSource Fournit une source de données pour la génération de données exemple que vous pouvez utiliser pour démarrer en l'absence de vos propres données. Vous pourrez par la suite remplacer cette source de données par des données réelles.
TBindingsList.png TBindingsList Est utilisé pour contenir les listes de liaisons.
TBindScope.png TBindScope Est utilisé pour les liaisons aux composants.
TDataGeneratorAdapter.png TDataGeneratorAdapter Est un adaptateur pour les générateurs de données.
TAdapterBindSource.png TAdapterBindSource Est utilisé pour manipuler des données non issues d'une base de données. La propriété d'adaptateur est utilisée pour connecter la source de données aux données non issues d'une base de données, telles qu'une collection générique d'objets.
TBindNavigator.png TBindNavigator (FMX) Est utilisé pour parcourir en boucle les enregistrements d'un ensemble de données lors du développement d'applications FMX
TBindNavigator.png TBindNavigator (VCL) Est utilisé pour parcourir en boucle les enregistrements d'un ensemble de données lors du développement d'applications VCL
Conseil : Quand vous utilisez l'inspecteur d'objets pour créer des liaisons dynamiques entre les composants, le composant LiveBindings approprié (TBindingsList) est automatiquement placé sur la fiche. Ce composant contient la liste de toutes les liaisons disponibles dans votre application. Voir la rubrique Listes de liaisons pour de plus amples informations sur les listes de liaisons.

Exemples LiveBindings

Un certain nombre d'applications exemple LiveBindings sont livrées avec RAD Studio. Vous pouvez les trouver en cliquant sur Démarrer | Tous les programmes | Embarcadero RAD Studio XE3 | Exemples. Le dossier concerné est Delphi\LiveBinding. Ces exemples sont listés dans le tableau suivant, classés selon la catégorie correspondante (FMX ou VCL). Certaines applications exemple sont disponibles pour FMX et VCL, tandis que d'autres sont disponibles pour une seule de ces deux catégories. Le groupe de projets principal pour tous les exemples LiveBindings est appelé BindSamplesGroup.groupproj.

Conseil : Pour obtenir des informations sur la procédure de mise à jour du répertoire Samples sur la version SVN la plus récente, reportez-vous à la rubrique d'aide Exemple.
Exemples LiveBindings FMX Exemples LiveBindings VCL
BindComponentsExprProject N/A
BindDBExprSampleProject N/A
BindExpressionSampleProject N/A
BindGridLinkFMXProject BindGridLinkVCLProject
BindLinkFMXProject BindLinkVCLProject
BindLinkFMXProject BindLinkVCLProject
BindListFMXProject BindListVCLProject
N/A BindListEditVCLProject
N/A BindLookupVCLProject

Ces exemples présentent de façon détaillée comment construire des applications améliorées en utilisant LiveBindings.

Le source des exemples LiveBindings de l'installation de votre produit est archivé dans un référentiel Subversion public résidant sur SourceForge :

Référence API LiveBindings

Les unités suivantes font partie du moteur LiveBindings. La documentation de leurs rubriques d'aide appropriées contient des informations concernant l'usage de l'API LiveBindings.

Nom d'unité Contient
System.Bindings.CustomScope Classes associées aux portées personnalisées
System.Bindings.CustomWrapper Classes associées aux wrappers personnalisés
System.Bindings.EvalProtocol Interfaces utilisées par le moteur pour les wrappers, les portées et les autres structures internes
System.Bindings.Expression Classes associées aux expressions de liaison
System.Bindings.ExpressionDefaults Comportement par défaut pour les expressions de liaison
System.Bindings.Factories Fabriques pour les expressions, les gestionnaires et les portées
System.Bindings.Helper Outils de création par programme des expressions de liaison et de notifications
System.Bindings.Manager Implémentations associées aux gestionnaires de liaisons
System.Bindings.ManagerDefaults Comportement par défaut pour les gestionnaires de liaisons
System.Bindings.Methods Contrôle des méthodes qui peuvent être utilisées dans le script
System.Bindings.Outputs Outils pour le contrôle des sorties d'expressions
Data.Bind Unités avec les implémentations des composants LiveBindings
Conseil : Lors de l'utilisation de C++Builder pour développer des applications console utilisant LiveBindings, vous devez indiquer explicitement au compilateur C++ de générer les informations RTTI pour les classes de votre projet. Pour ce faire, ajoutez la directive #pragma explicit_rtti methods() au début de votre projet, comme illustré dans le tutoriel Utilisation de LiveBinding par programme. Pour de plus amples informations concernant la directive #pragma explicit_rtti methods(), reportez-vous à la rubrique d'aide Pragma explicit rtti.

Synchronisation des données via LiveBindings

L'utilisation de LiveBindings dans RAD Studio vous permet de synchroniser différentes données, comme une zone de liste avec une grille chaîne, pour autant qu'elles contiennent les mêmes données. Reportez-vous à la rubrique Synchronisation des données via LiveBindings pour découvrir comment synchroniser des données via les propriétés Synch et * de certains composants depuis le Concepteur LiveBindings.

Création de composants activés LiveBindings

Les deux exigences suivantes doivent être remplies pour activer un simple contrôle comme TTrackBar pour une utilisation avec LiveBindings. La première exigence est que le contrôle doit implémenter le support de l'observateur. LiveBindings dépend des observateurs pour l'abonnement aux notifications des contrôles. La deuxième exigence est de recenser le nom de la valeur du contrôle (par exemple : Position pour un composant TTrackBar). Le nom de la valeur du contrôle est utilisé par les composants LiveBindings pour générer des expressions qui obtiennent et définissent la valeur du contrôle.

Pour plus d'informations sur la création de composants activés LiveBindings, reportez-vous au tutoriel Création de composants activés LiveBindings.

Voir aussi

Exemples

Tutoriels

Autres langues