Description

Exposes properties and methods to maintain a named, typed object capable of holding data in a hierarchy of other objects.

Object Model


Remarks

McObject instances encapsulate some set of data. The data may be numeric (scalar, array or multidimensional array), or it may be a COM object (see mcobjTypeEnum). When the encapsulated data is a COM object, then communication between the stored object and the McObject is supported if the stored object exposes the IMcObjConnection interface.

McObject instances may be named (and this name may be isolated by both a Namespace and by a parent McObject). An McObject may have a single ParentMcObject and it may have zero to many child McObject instances (for which it is their ParentMcObject).

McObject instances holding numeric data can be “Shaped” into dynamically sizable multidimensional arrays (or vectors). Unary and binar arithmetic and logical operations may be performed on these vectors of data using either in-place McObject methods (e.g., the OpSelfAdd method will add a source McObject to this one) or global methods that take either an McObject or a VARIANT (see McOMGlobal).

McObject instances also support firing events to client notify sinks; these events are not COM standard IConnectionPoint-based, but are instead based on a more efficient notification method using either a standard sink notification interface IMcObjStandardNotify exposed by the notify sink or custom interfaces that is known to whoever fires the notification as well as the client (this type of notify is mediated by an McObjFireCustomSink interface that is exposed by the object that initiates firing of the custom notification). Almost McObject all notifications are to sinks exposing IMcObjStandardNotify, since the SpecialNotify event allows virtually any notification to be passed using this convenient method.

Members

Methods
AllocateStorage

Allocates storage for a requested number of data values.

AttachNotifySink

Attaches either a standard (IID_IMcObjStandardNotify) or custom sink notification interface to the object.

DetachNotifySink

Detaches a standard or custom sink notification interface from the object (see AttachNotifySink).

FireCustomNotify

Fires a notify to all Attached notify sinks associated with a given IID.

FireStandardNotifyToAllSinks

A notify is fired to all standard (IID_IMcObjStandardNotify) sink interfaces currently attached to the object.

IsCompatibleType

Checks the Type property to see if it is “compatible” with a given type

KillObjectAndChildren

Removes the object from the collection and kills it by freeing its data

OpBareAssign

Arithmetic binary operator to assign a VARIANT to this McObject, possibly reshaping it in the process, leaving the result in this McObject.

OpSelfAdd

Arithmetic binary operator to add values to this McObject, leaving the result in this McObject.

OpSelfAndBits

Arithmetic binary operator to bitwise “And” the values in this McObject, leaving the result in this McObject.

OpSelfAssign

Arithmetic binary operator to assign values to this McObject, leaving the result in this McObject.

OpSelfBitwiseNot

Arithmetic unary operator to bitwise “Not” the values in this McObject, leaving the result in this McObject.

OpSelfConcat

Binary operator to concatenate values to this McObject, leaving the result in this McObject.

OpSelfConcatConcat

Binary operator to concatenate another array to this McObject, extending the overall shape of this McObject.

OpSelfDiv

Arithmetic binary operator to divide values into this McObject, leaving the result in this McObject.

OpSelfFillIn

Binary operator to fill-in concatenate this McObject, leaving the result in this McObject.

OpSelfLargerOf

Arithmetic binary operator to compute the larger of two values, leaving the result in this McObject.

OpSelfLeftShift

Arithmetic binary operator to left-shift the values in this McObject, leaving the result in this McObject.

OpSelfMod

Arithmetic binary operator to compute modulo values, leaving the result in this McObject.

OpSelfMul

Arithmetic binary operator to multiply values with this McObject, leaving the result in this McObject.

OpSelfNeg

Arithmetic unary operator to negate the values in this McObject, leaving the result in this McObject.

OpSelfOrBits

Arithmetic binary operator to bitwise “Or” the values in this McObject, leaving the result in this McObject.

OpSelfRightShift

Arithmetic binary operator to right-shift the values in this McObject, leaving the result in this McObject.

OpSelfSmallerOf

Arithmetic binary operator to compute the smaller of two values, leaving the result in this McObject.

OpSelfSub

Arithmetic binary operator to subtract values to this McObject, leaving the result in this McObject.

OpSelfXorBits

Arithmetic binary operator to bitwise “XOr” the values in this McObject, leaving the result in this McObject.

RemoveFromCollection

Removes the object and its descendents from the collection, but does not free its data.


Properties
AncestorMcObjectRead-only property

The closest “ancestor” McObject with a given TagNumber or the “root” ancestor McObject.

CategoryRead-write property

A property both reflecting and allowing the assignment of the object's Category membership.

CreatorCollectionRead-only property

A read-only property reflecting the McObjects collection instance from which this McObject instance was created.

DisplayNameRead-write property

A read/write name string property to be used for display purposes.

InterfaceRead-only property

A read-only property reflecting this object's interface data, if any.

NameRead-only property

The object's name, formatted as specified by the bShowParentAndNamespace argument

NameSpaceRead-only property

The object's namespace.

ParentMcObjectRead-write property

A read/write property reflecting the object's immediate Parent McObject, if any.

SelectedMcObjectRead-only property

A McObject instance that exposes a sub-array of the Value property.

SelectedValuesRead-write property

A read/write property allowing access to a sub-array of the Value property.

ShadowMcObjectRead-write property

A Read/Write Property for setting or retrieving the Shadow of an Alias type object.

ShapeRead-write property

For data objects, the Shape property reflects and sets the number of dimensions, and the size and characteristics of those dimensions.

TagNumberRead-write property

A read/write property reflecting object's Tag Number.

TypeRead-only propertyObject's Type
UserFlagsRead-write property

A masked read/write property reflecting the object's UserFlags.

valueRead-write property

A property both reflecting and allowing the assignment of the data value(s) associated with this object.

ValueTypeRead-only property

The VARTYPE of the Value property.

VectorLengthRead-only property

A read-only property giving the vector length of a data object.