Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

IDSSProperty Interface Reference

List of all members.

Detailed Description

The interface IDSSProperty is used to refer to a property associated with a DSS Object.

Each object can have an arbitrary number of properties associated with it. Properties are used to allow clients of the COM API to insert values into DSS Objects that are not explicitly included in the COM API.

Properties are grouped together into property sets. This means that the IDSSProperty interface is always found on a member of the IDSSPropertySet collection interface. The interface is always on a second class object.
This interface is used in several different situations:
The rest of this document will assume that the reader is familiar with the usage document.


Public Member Functions

HRESULT Default ([in] VARIANT *pDefault)
 The default value of this property This property returns the default value used for this DSSProperty.
HRESULT Default ([out, retval] VARIANT *pDefault)
 The default value of this property This property returns the default value used for this DSSProperty.
HRESULT Description ([in] BSTR Description)
 String used to describe the meaning of the property A string used to describe the meaning of this property.
HRESULT Description ([out, retval] BSTR *pDescription)
 String used to describe the meaning of the property A string used to describe the meaning of this property.
HRESULT EnumerationCount ([in] Int32 EnumerationCount)
 Number of enumeration values for this property This property is not implemented.
HRESULT EnumerationCount ([out, retval] Int32 *pEnumerationCount)
 Number of enumeration values for this property This property is not implemented.
HRESULT EnumerationDescription ([in] Int32 Index,[in] BSTR EnumerationDescription)
 Description for each enumeration value for this property.
HRESULT EnumerationDescription ([in] Int32 Index,[out, retval] BSTR *pEnumerationDescription)
 Description for each enumeration value for this property.
HRESULT EnumerationName ([in] Int32 Index,[in] BSTR EnumerationName)
 Names for each enumeration value for this property.
HRESULT EnumerationName ([in] Int32 Index,[out, retval] BSTR *pEnumerationName)
 Names for each enumeration value for this property.
HRESULT Hidden ([in] VARIANT_BOOL Hidden)
 Whether the property should be hidden from most user interfaces This property is not implemented.
HRESULT Hidden ([out, retval] VARIANT_BOOL *pHidden)
 Whether the property should be hidden from most user interfaces This property is not implemented.
HRESULT Name ([in] BSTR Name)
 Name of this property.
HRESULT Name ([out, retval] BSTR *pName)
 Name of this property.
HRESULT PropertyGroups ([in] EnumDSSPropertyGroupTypes PropertyGroups)
 Bit vector indicating to which groups this property belongs This property is used to specify to which property groups a DSSProperty applies.
HRESULT PropertyGroups ([out, retval] EnumDSSPropertyGroupTypes *pPropertyGroups)
 Bit vector indicating to which groups this property belongs This property is used to specify to which property groups a DSSProperty applies.
HRESULT PropertyID ([out, retval] Int32 *pPropertyID)
 Index number of this property in its property set This read-only property returns the index number of the property in its property set.
HRESULT PropertyType ([out, retval] Int32 *pPropertyType)
 Type of the property (vbLong, vbString etc.
HRESULT UseDefault ([in] VARIANT_BOOL UseDefault)
 False if a value is assigned to the property.
HRESULT UseDefault ([out, retval] VARIANT_BOOL *pUseDefault)
 False if a value is assigned to the property.
HRESULT Value ([in] VARIANT *pValue)
 The value (if any) assigned to this property This is the default property of the interface IDSSProperty.
HRESULT Value ([out, retval] VARIANT *pValue)
 The value (if any) assigned to this property This is the default property of the interface IDSSProperty.


Member Function Documentation

HRESULT IDSSProperty::Default [in] VARIANT *  pDefault  ) 
 

The default value of this property This property returns the default value used for this DSSProperty.

This value is the value used for the property for an object that hasn't assigned a value to the property.

When a new DSSProperty is created this property defaults to variant empty.
1. At design time this property is read-write, since we need to be able to assign the default value. At application time the property is for informational purposes only, and thus is read only. We do not allow any attempt to change the type of the property at application time.
2. DSS Properties supports a limited number of types that a Variant can take. The following basic types are supported: integer (VT_I2), long (VT_I4), float (VT_R4), double (VT_R8), currency (VT_CY), date (VT_DATE), string (VT_BSTR), Boolean (VT_BOOL) and byte (VT_UI1). The only array type supported is array of bytes (VT_UI1 | VT_ARRAY). This type can be used to represent binary properties in DSS COM.
Parameters:
pDefault A new default value for the DSSProperty. The type of the Variant must be one of the types supported by DSS COM. See for more information.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_BADPROPERTYTYPE Cannot set Default to a VARIANT of this type
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::Default [out, retval] VARIANT *  pDefault  ) 
 

The default value of this property This property returns the default value used for this DSSProperty.

This value is the value used for the property for an object that hasn't assigned a value to the property.

When a new DSSProperty is created this property defaults to variant empty.
1. At design time this property is read-write, since we need to be able to assign the default value. At application time the property is for informational purposes only, and thus is read only. We do not allow any attempt to change the type of the property at application time.
2. DSS Properties supports a limited number of types that a Variant can take. The following basic types are supported: integer (VT_I2), long (VT_I4), float (VT_R4), double (VT_R8), currency (VT_CY), date (VT_DATE), string (VT_BSTR), Boolean (VT_BOOL) and byte (VT_UI1). The only array type supported is array of bytes (VT_UI1 | VT_ARRAY). This type can be used to represent binary properties in DSS COM.
Parameters:
pDefault A new default value for the DSSProperty. The type of the Variant must be one of the types supported by DSS COM. See for more information.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_BADPROPERTYTYPE Cannot set Default to a VARIANT of this type
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::Description [in] BSTR  Description  ) 
 

String used to describe the meaning of the property A string used to describe the meaning of this property.

By default this string is empty.
At design time this property is read-write, since we need to be able to assign the description. At application time the property is for informational purposes only, and thus is read only.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::Description [out, retval] BSTR *  pDescription  ) 
 

String used to describe the meaning of the property A string used to describe the meaning of this property.

By default this string is empty.
At design time this property is read-write, since we need to be able to assign the description. At application time the property is for informational purposes only, and thus is read only.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::EnumerationCount [in] Int32  EnumerationCount  ) 
 

Number of enumeration values for this property This property is not implemented.

EnumerationCount is a numeric property. It allows for the existence of enumeration valued DSS properties. As with COM properties it is useful to have DSS Properties that must have one of a short list of possible values. We call such a property an enumeration valued property.
An enumeration valued property actually is stored as an integer value (1, 2, ..., n). Each of the possible values is given a name and description. The EnumerationCount property returns the size of n. It is the number of enumeration constants.
This property defaults to zero, which means that the property is not an enumeration valued property. Enumeration valued properties are only supported for integer numeric property types (VT_I2 and VT_I4).
At design time this property is read-write, since we need to be able to assign the value of EnumerationCount for the property. At application time the property is for informational purposes only, and thus is read only.
Setting the Default property to a non-numeric value will revert the enumeration count to zero.
Returns:
Usual COM result code:
  • S_OK
  • E_INVALIDARG Property must be positive, or zero
  • OBJSVR_E_READONLY Property is read only in this context
  • OBJSVR_E_BAD_ENUMERATION Only numeric valued properties may have a non-zero enumeration count

HRESULT IDSSProperty::EnumerationCount [out, retval] Int32 *  pEnumerationCount  ) 
 

Number of enumeration values for this property This property is not implemented.

EnumerationCount is a numeric property. It allows for the existence of enumeration valued DSS properties. As with COM properties it is useful to have DSS Properties that must have one of a short list of possible values. We call such a property an enumeration valued property.
An enumeration valued property actually is stored as an integer value (1, 2, ..., n). Each of the possible values is given a name and description. The EnumerationCount property returns the size of n. It is the number of enumeration constants.
This property defaults to zero, which means that the property is not an enumeration valued property. Enumeration valued properties are only supported for integer numeric property types (VT_I2 and VT_I4).
At design time this property is read-write, since we need to be able to assign the value of EnumerationCount for the property. At application time the property is for informational purposes only, and thus is read only.
Setting the Default property to a non-numeric value will revert the enumeration count to zero.
Returns:
Usual COM result code:
  • S_OK
  • E_INVALIDARG Property must be positive, or zero
  • OBJSVR_E_READONLY Property is read only in this context
  • OBJSVR_E_BAD_ENUMERATION Only numeric valued properties may have a non-zero enumeration count

HRESULT IDSSProperty::EnumerationDescription [in] Int32  Index,
[in] BSTR  EnumerationDescription
 

Description for each enumeration value for this property.

This property is not implemented.

EnumerationDescription is a parameterized text property. For a DSS Property whose EnumerationCount property is set to some non-zero value, this property holds a text string for each index in the range one to EnumerationCount. This string should be construed as a description of the meaning of setting the DSS Property to the value of the index number.
These descriptions are for display purposes only. The base API does not validate them in any way.
If EnumerationCount is set to a smaller value the list of existing descriptions is truncated. If it is set to a larger value the list of existing descriptions is padded out with empty strings.
At design time this property is read-write, since we need to be able to assign the values of EnumerationDescription for the DSS Property. At application time the property is for informational purposes only, and thus is read only.
Parameters:
Index The parameter of this property. Must be a number in the range one to EnumerationCount.
EnumerationDescription New description for this enumeration constant.
Returns:
Usual COM result code:
  • S_OK
  • DSSCOM_E_OUT_OF_RANGE Index is not in correct range.
  • OBJSVR_E_READONLY Property is read only in this context.

HRESULT IDSSProperty::EnumerationDescription [in] Int32  Index,
[out, retval] BSTR *  pEnumerationDescription
 

Description for each enumeration value for this property.

This property is not implemented.

EnumerationDescription is a parameterized text property. For a DSS Property whose EnumerationCount property is set to some non-zero value, this property holds a text string for each index in the range one to EnumerationCount. This string should be construed as a description of the meaning of setting the DSS Property to the value of the index number.
These descriptions are for display purposes only. The base API does not validate them in any way.
If EnumerationCount is set to a smaller value the list of existing descriptions is truncated. If it is set to a larger value the list of existing descriptions is padded out with empty strings.
At design time this property is read-write, since we need to be able to assign the values of EnumerationDescription for the DSS Property. At application time the property is for informational purposes only, and thus is read only.
Parameters:
Index The parameter of this property. Must be a number in the range one to EnumerationCount.
pEnumerationDescription Existing description for this enumeration constant.
Returns:
Usual COM result code:
  • S_OK
  • DSSCOM_E_OUT_OF_RANGE Index is not in correct range.
  • OBJSVR_E_READONLY Property is read only in this context.

HRESULT IDSSProperty::EnumerationName [in] Int32  Index,
[in] BSTR  EnumerationName
 

Names for each enumeration value for this property.

This property is not implemented.

EnumerationName is a parameterized text property. For a DSSProperty whose EnumerationCount property is set to some non-zero value, this property holds a text string for each index in the range one to EnumerationCount. This string should be construed as the textual representation of a single enumeration value.
These names are for display purposes only. The base API does not validate them in any way. In particular it does not enforce a uniqueness requirement on them.
If EnumerationCount is set to a smaller value the list of existing names is truncated. If it is set to a larger value the list of existing names is padded out with empty strings.
At design time this property is read-write, since we need to be able to assign the values of EnumerationName for the DSS Property. At application time the property is for informational purposes only, and is read only.
Parameters:
Index The parameter of this property. Must be a number in the range one to EnumerationCount.
EnumerationName New name for this enumeration constant.
Returns:
Usual COM result code:
  • S_OK
  • DSSCOM_E_OUT_OF_RANGE Index is not in correct range.
  • OBJSVR_E_READONLY Property is read only in this context.

HRESULT IDSSProperty::EnumerationName [in] Int32  Index,
[out, retval] BSTR *  pEnumerationName
 

Names for each enumeration value for this property.

This property is not implemented.

EnumerationName is a parameterized text property. For a DSSProperty whose EnumerationCount property is set to some non-zero value, this property holds a text string for each index in the range one to EnumerationCount. This string should be construed as the textual representation of a single enumeration value.
These names are for display purposes only. The base API does not validate them in any way. In particular it does not enforce a uniqueness requirement on them.
If EnumerationCount is set to a smaller value the list of existing names is truncated. If it is set to a larger value the list of existing names is padded out with empty strings.
At design time this property is read-write, since we need to be able to assign the values of EnumerationName for the DSS Property. At application time the property is for informational purposes only, and is read only.
Parameters:
Index The parameter of this property. Must be a number in the range one to EnumerationCount.
pEnumerationName Existing name for this enumeration constant.
Returns:
Usual COM result code:
  • S_OK
  • DSSCOM_E_OUT_OF_RANGE Index is not in correct range.
  • OBJSVR_E_READONLY Property is read only in this context.

HRESULT IDSSProperty::Hidden [in] VARIANT_BOOL  Hidden  ) 
 

Whether the property should be hidden from most user interfaces This property is not implemented.

Hidden is a Boolean valued property. It records whether or not the DSSProperty should be hidden. Hiding a property does not mean that the base API treats the property differently. Instead it is a hint to applications that access the properties that they should usually not display this property.
At design time this property is read-write, since we need to be able to assign the value of Hidden for the property. At application time the property is for informational purposes only, and is read only.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::Hidden [out, retval] VARIANT_BOOL *  pHidden  ) 
 

Whether the property should be hidden from most user interfaces This property is not implemented.

Hidden is a Boolean valued property. It records whether or not the DSSProperty should be hidden. Hiding a property does not mean that the base API treats the property differently. Instead it is a hint to applications that access the properties that they should usually not display this property.
At design time this property is read-write, since we need to be able to assign the value of Hidden for the property. At application time the property is for informational purposes only, and is read only.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::Name [in] BSTR  Name  ) 
 

Name of this property.

Unique within the PropertySet. The name of this property. The name must satisfy the usual restrictions on valid names. We require that the name is unique within the property set that contains this property, so that we can use the name as a key value for the property.

By default we use a name of the form Property1, Property2, etc. The number is the PropertyID of the property.
At design time this property is read-write, since we need to be able to assign the name. At application time the property is for informational purposes only, and thus is read only.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_BADNAME The name is unacceptable (contains bad characters, etc.)
  • OBJSVR_E_NAMECLASH This name is already in use
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::Name [out, retval] BSTR *  pName  ) 
 

Name of this property.

Unique within the PropertySet. The name of this property. The name must satisfy the usual restrictions on valid names. We require that the name is unique within the property set that contains this property, so that we can use the name as a key value for the property.

By default we use a name of the form Property1, Property2, etc. The number is the PropertyID of the property.
At design time this property is read-write, since we need to be able to assign the name. At application time the property is for informational purposes only, and thus is read only.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_BADNAME The name is unacceptable (contains bad characters, etc.)
  • OBJSVR_E_NAMECLASH This name is already in use
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::PropertyGroups [in] EnumDSSPropertyGroupTypes  PropertyGroups  ) 
 

Bit vector indicating to which groups this property belongs This property is used to specify to which property groups a DSSProperty applies.

We provide a fixed list of property groups, as shown in the enumeration in the Notes section. A property may belong to several property groups. Choosing the property groups of a property is equivalent to specifying which types of DSS Object may assign a value to this property. Not all types of DSS Object are permitted to have properties.

When a user accesses the list of all property sets available for a given DSS Object, a set is listed if it contains at least one DSS Property that could apply to a DSS Object. This means that it is a good idea that most of the properties in a property set apply to similar property groups. We do not enforce this suggestion.
At design time this property is read-write, since we need to be able to assign the groups for a newly created property. At application time the property is for informational purposes only, and thus is read only.
This is the enumeration EnumDSSPropertyGroupTypes for property groups. Note that some entries apply to more than one object type.
Constant Object type or types
DssPropertyGroupFilter Filters
DssPropertyGroupTemplate Templates
DssPropertyGroupReport Report definitions
DssPropertyGroupMetric Metrics
DssPropertyGroupColumn Columns
DssPropertyGroupAggMetric Aggregate metrics
DssPropertyGroupFolder (Do not use)
DssPropertyGroupUser Users. N.B. user groups are a type of user
DssPropertyGroupPrompt Prompts
DssPropertyGroupFunction Functions
DssPropertyGroupAttribute Attributes
DssPropertyGroupFact Facts
DssPropertyGroupDimension Dimensions
DssPropertyGroupTable Tables
DssPropertyGroupFactGroup (Do not use)
DssPropertyGroupShortcut Shortcut objects
DssPropertyGroupResolution Resolution objects
DssPropertyGroupSearch Search objects
DssPropertyGroupProject Projects
DssPropertyGroupDBRole Database roles, Database connections
DssPropertyGroupConsolidationElement Consolidation elements
DssPropertyGroupAttributeForm Attribute forms
DssPropertyGroupDBMS DBMS objects
DssPropertyGroupMDSecurityFilter Multidimensional security filters
DssPropertyGroupSchedule Schedule objects, Schedule triggers and schedule events
Observe that this property needs to be rethought if we find that more than 32 objects need to have separate property groups. Note that there is no reason why we cannot assign two different DSS Object types to the same property group. This says that every DSS property either applies to both, or neither of the two objects.
Some objects, for example DssTypePropertySet and DssTypePropertyGroup themselves do not need a property group, because we cannot apply properties to these objects.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSProperty::PropertyGroups [out, retval] EnumDSSPropertyGroupTypes pPropertyGroups  ) 
 

Bit vector indicating to which groups this property belongs This property is used to specify to which property groups a DSSProperty applies.

We provide a fixed list of property groups, as shown in the enumeration in the Notes section. A property may belong to several property groups. Choosing the property groups of a property is equivalent to specifying which types of DSS Object may assign a value to this property. Not all types of DSS Object are permitted to have properties.

When a user accesses the list of all property sets available for a given DSS Object, a set is listed if it contains at least one DSS Property that could apply to a DSS Object. This means that it is a good idea that most of the properties in a property set apply to similar property groups. We do not enforce this suggestion.
At design time this property is read-write, since we need to be able to assign the groups for a newly created property. At application time the property is for informational purposes only, and thus is read only.
This is the enumeration EnumDSSPropertyGroupTypes for property groups. Note that some entries apply to more than one object type.
Constant Object type or types
DssPropertyGroupFilter Filters
DssPropertyGroupTemplate Templates
DssPropertyGroupReport Report definitions
DssPropertyGroupMetric Metrics
DssPropertyGroupColumn Columns
DssPropertyGroupAggMetric Aggregate metrics
DssPropertyGroupFolder (Do not use)
DssPropertyGroupUser Users. N.B. user groups are a type of user
DssPropertyGroupPrompt Prompts
DssPropertyGroupFunction Functions
DssPropertyGroupAttribute Attributes
DssPropertyGroupFact Facts
DssPropertyGroupDimension Dimensions
DssPropertyGroupTable Tables
DssPropertyGroupFactGroup (Do not use)
DssPropertyGroupShortcut Shortcut objects
DssPropertyGroupResolution Resolution objects
DssPropertyGroupSearch Search objects
DssPropertyGroupProject Projects
DssPropertyGroupDBRole Database roles, Database connections
DssPropertyGroupConsolidationElement Consolidation elements
DssPropertyGroupAttributeForm Attribute forms
DssPropertyGroupDBMS DBMS objects
DssPropertyGroupMDSecurityFilter Multidimensional security filters
DssPropertyGroupSchedule Schedule objects, Schedule triggers and schedule events
Observe that this property needs to be rethought if we find that more than 32 objects need to have separate property groups. Note that there is no reason why we cannot assign two different DSS Object types to the same property group. This says that every DSS property either applies to both, or neither of the two objects.
Some objects, for example DssTypePropertySet and DssTypePropertyGroup themselves do not need a property group, because we cannot apply properties to these objects.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSProperty::PropertyID [out, retval] Int32 *  pPropertyID  ) 
 

Index number of this property in its property set This read-only property returns the index number of the property in its property set.

This number can be used as an index number to identify the property in its property set.

When a property set is accessed to list the properties available for some object, we filter the set so that only those properties relevant for this particular object appear. However the PropertyID is not changed, even if the property set appears to have fewer elements.
PropertyIDs are numbered from 1.
This property can be used at both design and application time.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_READONLY Property is read only in this context

HRESULT IDSSProperty::PropertyType [out, retval] Int32 *  pPropertyType  ) 
 

Type of the property (vbLong, vbString etc.

). This property returns the data type of the values that are acceptable for this DSSProperty. Rather than define a new set of datatypes we use the existing VARIANT datatypes. We determine the data type of the DSSProperty by taking it to be the same datatype as the value of the Default property.

In fact this property is exactly equivalent to the VB code
VarType (P.Default)
By design this property is read only. We want to force property designers to assign a default value to each property.
This property can be used at both design and application time.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSProperty::UseDefault [in] VARIANT_BOOL  UseDefault  ) 
 

False if a value is assigned to the property.

This Boolean property is used at application time to indicate if a value has been assigned for a particular DSSProperty. Clearly if Value is not equal to Application then a value must have been assigned to the DSSProperty. But the UseDefault property is needed to distinguish between an unassigned value, and a value that has been assigned to the Default value.

If the user sets UseDefault to False we leave the value of Value unchanged. That is:
  • If a value was already to the DSSProperty then setting UseDefault to False has no effect.
  • If no value was assigned to the DSSProperty, then setting UseDefault to False has the effect of assigned the property's value to be its Default value.
If the user sets UseDefault to True then
  • If a value was already assigned to DSSProperty then we remove the assignment. Subsequent calls to the Value property returns the Default value of the DSSProperty.
  • If no value is assigned to the DSSProperty then setting UseDefault to True has no effect.
We ignore, without error, any attempt to set this property at design time.
Parameters:
UseDefault Set to True to unassign this property value.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSProperty::UseDefault [out, retval] VARIANT_BOOL *  pUseDefault  ) 
 

False if a value is assigned to the property.

This Boolean property is used at application time to indicate if a value has been assigned for a particular DSSProperty. Clearly if Value is not equal to Application then a value must have been assigned to the DSSProperty. But the UseDefault property is needed to distinguish between an unassigned value, and a value that has been assigned to the Default value.

If the user sets UseDefault to False we leave the value of Value unchanged. That is:
  • If a value was already to the DSSProperty then setting UseDefault to False has no effect.
  • If no value was assigned to the DSSProperty, then setting UseDefault to False has the effect of assigned the property's value to be its Default value.
If the user sets UseDefault to True then
  • If a value was already assigned to DSSProperty then we remove the assignment. Subsequent calls to the Value property returns the Default value of the DSSProperty.
  • If no value is assigned to the DSSProperty then setting UseDefault to True has no effect.
We ignore, without error, any attempt to set this property at design time.
Parameters:
pUseDefault True if and only if no value is assigned to this property. At design time we always return True.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSProperty::Value [in] VARIANT *  pValue  ) 
 

The value (if any) assigned to this property This is the default property of the interface IDSSProperty.

That is the following two lines of code have the same effect:

M.Info.PropertySets("Set1").Item("Property2").Value = "Red"
M.Info.PropertySets("Set1").Item("Property2") = "Red"
This property is the value assigned to this DSSProperty. It at application time it is used to see the current value of the property and to assign a new one. When a new value is assigned we validate it by making sure that it has the same type as the value of the Default property.
The Value property is set to the same value as the corresponding Default property when we create a new member of a Properties interface.
This property can be used at both design and application time. However at design time we treat it as another method to access the Default property.
Setting this property at application time always has the side effect of setting UseDefault to False. This is true even if it is set to the same value as Default.
1 Because it is possible for a value on a report definition and a template to override the value on an individual object, there are situations where it is useful to assign a property to its own default value.
Parameters:
pValue The new value for this property. At design time we treat the call to change the Value as if it was an attempt to change the Default.
pValue The current value assigned to this property. Return the value of Default if no value is assigned, or if this call is made at design time.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_BADPROPERTYVALUE The new value for Value is not of the correct type (i.e. the type of the Default property), and an attempt to convert it to the correct type failed.

HRESULT IDSSProperty::Value [out, retval] VARIANT *  pValue  ) 
 

The value (if any) assigned to this property This is the default property of the interface IDSSProperty.

That is the following two lines of code have the same effect:

M.Info.PropertySets("Set1").Item("Property2").Value = "Red"
M.Info.PropertySets("Set1").Item("Property2") = "Red"
This property is the value assigned to this DSSProperty. It at application time it is used to see the current value of the property and to assign a new one. When a new value is assigned we validate it by making sure that it has the same type as the value of the Default property.
The Value property is set to the same value as the corresponding Default property when we create a new member of a Properties interface.
This property can be used at both design and application time. However at design time we treat it as another method to access the Default property.
Setting this property at application time always has the side effect of setting UseDefault to False. This is true even if it is set to the same value as Default.
1 Because it is possible for a value on a report definition and a template to override the value on an individual object, there are situations where it is useful to assign a property to its own default value.
Parameters:
pValue The new value for this property. At design time we treat the call to change the Value as if it was an attempt to change the Default.
pValue The current value assigned to this property. Return the value of Default if no value is assigned, or if this call is made at design time.
Returns:
Usual COM result code:
  • S_OK
  • OBJSVR_E_BADPROPERTYVALUE The new value for Value is not of the correct type (i.e. the type of the Default property), and an attempt to convert it to the correct type failed.


Copyright © 1996-2018 MicroStrategy Inc. All Rights Reserved.