LiveBindings dans RAD Studio

De RAD Studio
Aller à : navigation, rechercher

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.

Présentation de LiveBindings

LiveBindings est basé sur des 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 afin 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. Le Concepteur ne peut créer que des composants à liaison rapide (QuickBinding). Le graphe présente des liaisons d'autres composants (telles que TBindLink), mais vous ne pouvez pas déplacer les points de fin comme c'est le cas avec les composants à liaison rapide.

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

Le Concepteur LiveBindings utilise les QuickBindings (ou liaisons rapides) pour créer ce type de liaison (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 TEdit à une source de données
  • Lier un contrôle tel que TEdit à une propriété de composant (comme 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. Vous pouvez utiliser le composant TPrototypeBindSource 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 Fiches VCL et les applications FireMonkey par le biais du Concepteur LiveBindings ou de l'expert LiveBindings. Notez que vous pouvez invoquer l'expert via l'inspecteur d'objets ou en cliquant avec le bouton droit sur des composants placés sur la fiche (mais seulement si l'expert a été précédemment activé dans la boîte de dialogue Outils > Options > LiveBindings).

Reportez-vous à la rubrique Création de LiveBindings, Nouveau LiveBinding ou Expert LiveBindings pour une présentation de la procédure à utiliser pour créer des LiveBindings dans RAD Studio. Voir aussi Tutoriel : Utilisation de LiveBindings par programmation pour des instructions sur la création de LiveBindings par programmation, si pour une raison quelconque vous devez le faire.

Utilisation des raccourcis d'évaluation

Les raccourcis d'évaluation représentent une technique prise en charge par certains composants de liaison qui améliore leurs performances lors du remplissement des contrôles contenant des listes ou des données tabulaires, telles que des vues de listes, des grilles ou des zones de liste déroulante.

Remarque : Les raccourcis d'évaluation ne peuvent pas améliorer les performances des composants de liaison qui remplissent une grille FireMonkey.

Les composants de liaison qui prennent en charge les raccourcis d'évaluation les utilisent généralement par défaut, puisque les raccourcis d'évaluation peuvent évaluer bien plus rapidement les expressions de liaison qui n'utilisent pas des expressions d'analyse ou de format personnalisées.

Cependant, l'utilisation des raccourcis d'évaluation requiert que les composants de liaison vérifient premièrement les expressions de liaison pour déterminer si celles-ci utilisent des expressions d'analyse ou de format personnalisées. Si toutes ou la plupart de vos expressions d'analyse utilisent des expressions d'analyse ou de format personnalisées, le traitement requis pour effectuer cette vérification peut être plus intense que le traitement enregistré en utilisant les raccourcis d'évaluation, s'il y en a. Les composants de liaison qui prennent en charge l'évaluation fournissent généralement une propriété booléenne, UseEvalShortcuts, que vous pouvez définir sur False pour désactiver les raccourcis d'évaluation.

Composants visuels LiveBindings

Le moteur LiveBindings est une fonctionnalité runtime, mais un certain nombre de composants visuels sont présents dans la palette d'outils, afin de vous aider à créer des liaisons dynamiques entre les composants au moment de la conception. Parfois, vous pouvez aussi créer des liaisons visuellement, à l'aide de l'expert LiveBindings ou du Concepteur LiveBindings.

Si vous naviguez dans la palette d'outils, vous trouverez dans les onglets LiveBindings ou Divers LiveBindings les composants suivants que vous pouvez glisser et déposer sur une fiche (VCL ou FireMonkey).

  • LiveBindings
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.
TBindSourceDBX.png TBindSourceDBX Est utilisé pour la création de liaisons aux bases de données en utilisant le framework DBX.
TParamsAdapter.png TParamsAdapter Est utilisé pour lier les contrôles visuels aux paramètres de commande DBX.
TBindNavigator.png TBindNavigator (FMX ou VCL) Est utilisé pour parcourir en boucle les enregistrements d'un ensemble de données lors du développement d'applications FMX ou VCL.
  • Divers LiveBindings
Logo du composant Nom du composant Description
TBindingsList.png TBindingsList Est utilisé pour contenir les listes de liaisons.
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.
  • 'LiveBindings
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.
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
  • Divers LiveBindings
Logo du composant Nom du composant Description
TBindingsList.png TBindingsList Est utilisé pour contenir les listes de liaisons.
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.
Conseil : Quand vous utilisez le Concepteur LiveBindings 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 | Programmes | Embarcadero RAD Studio 10.2 Tokyo | Exemples. Le dossier concerné est Object Pascal\LiveBinding. Il existe un autre exemple LiveBinding dans le dossier Object Pascal\FireMonkey Desktop\ListCollections et qui est décrit dans Exemple FMX.ListCollections. 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.

Un certain nombre d'applications exemple sont livrées avec RAD Studio. Vous pouvez les trouver en cliquant sur Démarrer | Programmes | Embarcadero RAD Studio 10.2 Tokyo | Exemples (le dossier concerné est LiveBinding). 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
BindGridLinkFMXProject BindGridLinkVCLProject
BindLinkFMXProject BindLinkVCLProject
N/A OneOfEachBindCompVCL
ListCollectionsSampleProject N/A
Exemples LiveBindings FireMonkey
BindComponentsExprProject
BindDBExprSampleProject
BindExpressionSampleProject
BindGridLinkFMXProject
BindLinkFMXProject
BindLinkFMXProject
BindListFMXProject

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 des 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 programmation 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 : Lorsque vous utilisez 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 LiveBindings par programmation. Pour plus d'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.

Editeurs LiveBindings

Les éditeurs suivants de RAD Studio sont relatifs à LiveBindings :

Voir aussi Boîtes de dialogue LiveBindings.

LiveBindings dans les listes d'actions

Voir LiveBindings et les listes d'actions.

Voir aussi

Tutoriels

Voir Tutoriels Bases de données et LiveBindings.