Value Event
Fired when a characteristic or descriptor value is received from the server.
Syntax
typedef struct { String ServiceId; String CharacteristicId; String DescriptorId; String Uuid; String Description; String Value; DynamicArray<Byte> ValueB; } TiplBLEClientValueEventParams; typedef void __fastcall (__closure *TiplBLEClientValueEvent)(System::TObject* Sender, TiplBLEClientValueEventParams *e); __property TiplBLEClientValueEvent OnValue = { read=FOnValue, write=FOnValue };
Remarks
This event is fired to signify that a value has been received for a characteristic or descriptor. The DescriptorId parameter will be empty string if the value is for a characteristic.
Uuid and Description are the UUID and Bluetooth SIG user-friendly name (if one is defined) of the characteristic or descriptor.
There are three scenarios which can cause this event to fire:
- The server has responded to a read request for a characteristic.
- The server has responded to a read request for a descriptor.
- The server has sent an updated value for a subscribed characteristic.
Whenever a value is received for a characteristic or descriptor, the value that the platform has cached for it is updated as well. You can read the cached value for a characteristic using CharacteristicCachedValue, or for a descriptor using DescriptorCachedValue.
Refer to the ReadValue and/or Subscribe methods for more information.