immediatebind (attribut)
L’attribut [immediatebind] indique que la base de données sera immédiatement informée de toutes les modifications apportées à une propriété d’un objet lié aux données.
[
interface-attribute-list
]
interface | dispinterface interface-name
{
[bindable, immediatebind[, optional-attribute-list]] returntype function-name(params)
}
-
interface-attribute-list
-
Spécifie une liste d’un ou plusieurs attributs qui s’appliquent à l’interface dans son ensemble.
-
nom_interface
-
Spécifie le nom de l’interface ou de la dispinterface.
-
optional-attribute-list
-
Zéro ou plusieurs attributs de fonction.
-
type de retour
-
Spécifie le type de retour de la fonction.
-
nom de la fonction
-
Spécifie le nom de la fonction dans le fichier IDL.
-
params
-
Zéro ou plusieurs paramètres de fonction.
L’attribut [immediatebind] permet aux contrôles de différencier les propriétés qui doivent notifier la base de données de chaque modification et celles qui ne le font pas. Par exemple, chaque modification apportée à un contrôle de case à cocher doit être envoyée immédiatement à la base de données sous-jacente, même si le contrôle n’a pas perdu le focus. Toutefois, pour un contrôle de zone de liste, une modification se produit chaque fois qu’une autre sélection est mise en surbrillance. Notifier la base de données d’une modification avant que le contrôle ne perde le focus serait inefficace et inutile. L’attribut [immediatebind] vous permet de spécifier, en définissant le bit ImmediateBind, des propriétés individuelles sur un formulaire dont les modifications doivent être signalées immédiatement.
Les propriétés qui ont l’attribut [immediatebind] doivent également avoir l’attribut [pouvant être lié].
FUNCFLAG_FIMMEDIATEBIND, VARFLAG_FIMMEDIATEBIND
[
uuid(12345678-1234-1234-1234-123456789ABC)
]
interface MyObject : IUnknown
{
properties:
methods:
[id(1), propget, bindable, immediatebind] long Size(void);
[id(1), propput, bindable,
immediatebind] HRESULT Size([in]long lSize);
}