Share via


ExpressionEval Object

Ee826076.c++_off(en-US,CS.10).gifEe826076.vb_on(en-US,CS.10).gif

Use this object to evaluate one or more expressions against a specified context. In addition, use this object to parse and evaluate user-defined expressions written as Extensible Markup Language (XML) fragments.

ProgID:   Commerce.ExpressionEvaluator (Externally creatable)
COM Class Name:   ExpressionEval
COM Interface Name:   IExpressionEval
Interface ID Constant:   IID_IExpressionEval
Header File:   ExprArchDLL.h, exprarch.h, mspu_guids.h
Type Library Name:   Microsoft Commerce 2000 Expression System Type Library
DLL Name:   exprarch.dll
Threading Model:   Both

In C++, the properties and methods of the ExpressionEval object are accessed through the IExpressionEval interface.

The properties of the ExpressionEval object are shown in the following table.

Property Type Description
ExprCount long Retrieves the number of expressions loaded into the expression cache.

This property is read-only.

The methods of the ExpressionEval object are shown in the following table.

Method Description
Connect Establishes communication between the ExpressionEval object and an expression store.
CreateEvalContext Creates a new ExprEvalContext object in the context cache.
Eval Evaluates an expression.
EvalInContext Evaluates an expression in a context previously loaded into the context cache.
EvalXML Evaluates the specified XML text as an expression.
FlushAll Removes all expressions from the expression cache.
FlushExpr Removes the specified expression from the expression cache.
LoadAll Reads all expressions from the expression store and loads them into the expression cache.
LoadExpr Reads the specified expression from the expression store and loads it into the expression cache.
ParseXML Parses the specified XML text to determine if it represents a valid expression.

Remarks

Expressions are stored in a database referred to as the Expression Store and accessed through an ExpressionStore object. When it is created, the ExpressionEval object initializes an expression cache and a context cache. Expressions must be compiled and loaded into the expression cache before being evaluated. To improve evaluation performance, use the LoadExpr or LoadAll method to preload expressions into the expression cache.

An expression is evaluated against data contained in a set of profiles. The profiles may be ProfileObject objects, Dictionary objects, or other objects that support property access through the IDispatch interface. The set of profiles is referred to as an evaluation context. If an evaluation context will be used across multiple expressions, create a stored context in the context cache using the CreateEvalContext method to increase efficiency.

The Connect method must be called before loading or evaluating expressions.

See Also

Expression Objects

Expression Recordset

Expression XML Structures

ExpressionStore Object

ProfileObject Object


All rights reserved.