It's not quite clear to me how to implement dynamic properties.
I have an asynchronous activity that I'm performing in my DeviceRun loop, activated by a timeout from the "WaitForMultipleObjects" call. I know have new values I want to place in the dynamic properties.
I've tried:
Code: Select all
pValue = m_pProperty->CreatePropertyValue ( newvalue );
if (pValue)
{
pValue->ChangeRequestCompleted();
delete pValue;
}
Also, what are these exported functions for, and how are they used:
Code: Select all
BOOL InitDynamicProperty( ... );
BOOL SetDynamicProperty( ... );
BOOL DeleteDynamicProperty( ... );
InitDynamicProperty in my device get's called for each instance of a dynamic property that I have. Not sure what to do.
Also, another thing. It appears that the only type of property that I can create that will appear to be dynamic is the ptAlphaList.
I noticed on the TV Listing Sample device that there are a number of properties that behave as though they are dynamic (their contents change dynamically), yet they are modifiable from the UI. They all appear to be of type ptAlpha. The only two that restrict UI modification are the two that are type ptAlphaList.
I'm guessing that I could just use ptAlpha types, just make them readonly, however I don't seem to get called for any of the *DynamicProperty callbacks.
My primary issue, however is to be able to change the values.
Thanks,
Rick