immediatebind (attributo)
L'attributo [immediatebind] indica che il database riceverà immediatamente una notifica di tutte le modifiche apportate a una proprietà di un oggetto associato a dati.
[
interface-attribute-list
]
interface | dispinterface interface-name
{
[bindable, immediatebind[, optional-attribute-list]] returntype function-name(params)
}
-
interface-attribute-list
-
Specifica un elenco di uno o più attributi che si applicano all'interfaccia nel suo complesso.
-
interface-name
-
Specifica il nome dell'interfaccia o della dispinterface.
-
optional-attribute-list
-
Zero o più attributi di funzione.
-
Returntype
-
Specifica il tipo restituito della funzione.
-
function-name
-
Specifica il nome della funzione nel file IDL.
-
params
-
Zero o più parametri di funzione.
L'attributo [immediatebind] consente ai controlli di distinguere tra le proprietà che devono notificare al database ogni modifica e quelle che non lo fanno. Ad esempio, ogni modifica a un controllo casella di controllo deve essere inviata immediatamente al database sottostante, anche se il controllo non ha perso lo stato attivo. Tuttavia, per un controllo listbox, viene apportata una modifica ogni volta che viene evidenziata una selezione diversa. Notificare al database una modifica prima che il controllo perda lo stato attivo sarebbe inefficiente e non necessario. L'attributo [immediatebind] consente di specificare, impostando il bit ImmediateBind, le singole proprietà in una maschera le cui modifiche devono essere segnalate immediatamente.
Anche le proprietà con l'attributo [immediatebind] devono avere l'attributo [associabile].
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);
}