LiveBindings dans 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.
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.
- Tutoriels sur la façon d'utiliser LiveBindings dans les applications VCL ou FMX avec le Concepteur LiveBindings :
- Méthode rapide (QuickBindings) de création de LiveBindings de façon transparente avec l'expert LiveBindings :
- Tutoriels sur l'utilisation de LiveBindings dans les applications VCL ou FMX avec l'expert LiveBindings :
- Tutoriel : Utilisation de LiveBinding dans les applications VCL (illustre par l'exemple la liaison de propriétés d'application VCL)
- Tutoriel : Utilisation de LiveBindings dans les applications FireMonkey (illustre par l'exemple la liaison de propriétés d'application FireMonkey HD)
- Tutoriel : Utilisation de LiveBinding pour créer une application sans code (illustre par l'exemple une application FireMonkey HD construite avec LiveBindings)
- Tutoriel : Utilisation de LiveBinding par programme (seulement approprié pour les applications console ou l'édition manuelle des expressions)
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 | Est utilisé pour la création de liaisons aux bases de données. | |
| 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 | Est utilisé pour contenir les listes de liaisons. | |
| TBindScope | Est utilisé pour les liaisons aux composants. | |
| TDataGeneratorAdapter | Est un adaptateur pour les générateurs de données. | |
| 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 (FMX) | Est utilisé pour parcourir en boucle les enregistrements d'un ensemble de données lors du développement d'applications FMX | |
| 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
- Concepteur LiveBindings
- Création de LiveBindings
- Expert LiveBindings
- Boîte de dialogue Méthodes LiveBindings
- La boîte de dialogue Convertisseurs de sortie
- La boîte de dialogue Résultat d'expression LiveBindings
- La boîte de dialogue Editeur de colonnes LiveBindings
- Nouveau LiveBinding
- Synchronisation des données via LiveBindings
- Listes de liaisons
- Editeur d'expressions de liaison
- LiveBindings et les listes d'actions
- Inspecteur d'objets
- Nouvelle application console (C++)
- Application Fiches VCL
- Application HD FireMonkey
- Extraits de code iOS
Exemples
Tutoriels
- Tutoriel : Utilisation de LiveBinding dans les applications VCL
- Tutoriel : Utilisation de LiveBindings dans les applications FireMonkey
- Tutoriel : Utilisation de LiveBinding pour créer une application FireMonkey sans code
- Tutoriel : Utilisation de LiveBinding par programme
- Tutoriel : Liaison de contrôles via le Concepteur LiveBindings
- Tutoriel : Utilisation de TPrototypeBindSource et du Concepteur LiveBindings
- Tutoriel : Utilisation de LiveBindings et de modules de données avec Metropolis UI
- Tutoriel : Utilisation de LiveBindings pour remplir une zone de liste sur iOS
