We will use the Boolean property to describe how simple properties are used.
This property is described in the type library as follows:
interface IMyObject : IUnknown {
...
[propget]
HRESULT MyProperty([out, retval]VARIANT_BOOL* result);
[propput]
HRESULT MyProperty([in]VARIANT_BOOL value);
...
};
In Visual Basic this property is handled as follows:
If MyObject.MyProperty <> True Then MyObject.MyProperty = True End If
In C++ there are two ways to use this property. These methods have get_ and put_ prefixes. C++ code sample:
IMyObject* pMyObject;
...
VARIANT_BOOL res;
pMyObject->get_MyProperty(&res);
if( res != VARIANT_TRUE )
pMyObject->put_MyProperty(VARIANT_TRUE);
Native COM support makes this procedure simpler. Code sample:
IMyObjectPtr pMyObject;
...
if(pMyObject->MyProperty != VARIANT_TRUE) pMyObject->MyProperty = VARIANT_TRUE;
If the type library only defines the "get" method for a property, this property is called read-only. Its value cannot be changed by the user and it may only be accessed for reading.
Working with string properties is described in the next article.
Comments
0 comments
Please sign in to leave a comment.