This page contains changes which are not marked for translation.
Other languages:
English • ‎中文

ADE User Guide > ADE Server Class Reference >

class CAEngine (ADE)

In-Process and Out-of-Process Instantiations


Use of ADE really starts with the creation of a CAEngine object, from which all else flows. If you are using the ADEW.dll in-process server, you can only create and use one CAEngine instance. If you are using the ADE.exe out-of-process server, you may create as many CAEngine instances as you desire, each one running as a separate process. In web-based applications, a separate CAEngine instance is typically created for each user session. Each CAEngine instance can have one model loaded at a time.

You can either create a CAEngine instance directly, or by calling CALicense::NewCAEngine(). The later method requires you to first create a CALicense instance, but has the advantage that you can obtain further information about the cause of failure when creation fails. Direct creation of CAEngine will fail if the license to use ADE on the given computer is invalid, expired, etc.


Visual Basic.NET




{get,put} string Command

Holds a typescript command that gets executed when the Send() method is called.

{get,put} CAObject CurrentModule

Newly created objects are placed into CurrentModule; so, you should set CurrentModule before creating any new objects. Setting CurrentModule = Nothing means that no module is open, so all new objects are created in the top-level Module or Model of the currently opened model.

{get,put} CARenderingStyle DefaultDefTableRenderingStyle

The default rendering style controlling how definition table values are transferred to and from ADE. All definition tables returned from CAObject::DefTable inherits these settings when they are first created.

{get,put} long DefaultEvaluationTimeLimit

The maximum time limit in milliseconds imposed on evaluations from methods in CAEngine, i.e., SendCommand, Send, OpenModel, and AddModule, as well as the default value for CAObject::MethodEvaluationTimeLimit for any CAObjects instantiated. A value of zero indicates no time limit.

{get,put} CARenderingStyle DefaultRenderingStyle

The default rendering style controlling how result values are returned from ADE. All CAObject instances inherit this rendering style when they are created.

{get} short int ErrorCode

Returns the error code generated by the last communication with the Analytica Decision Engine Server. The property ErrorCode should be checked after setting and retrieving critical CAEngine properties and calling CAEngine methods. An ErrorCode of zero indicates the last action was successful.

{get} string ErrorText

Short text explanation of error from ErrorCode.

{get,put} unsigned long Flags

A bit field of flags that control certain behaviors within ADE.

{get} string Log

A record of all commands sent to the ADE typescript and the results received from those commands, when the Photo property is true.

{get,put} CAEngine::MaxMemoryLimit

A limit on the amount of total memory usage, in MegaBytes, that the ADE process is allowed to use during computations, or 0 when not set. When exceeded, the computation aborts.

{get} string OutputBuffer

A text string buffer that contains the result of the last typescript (i.e., using the Command property and Send method) interaction with the ADE.

{get,put} bool Photo

When Photo is True, ADE records all typescript commands and results into the Log property.


string AddModule(string filePath,bool Merge)

Adds a module from file fileName into the CurrentModule. The merge parameter currently has no effect and should be set to True.

bool CloseModel()

Closes the model.

CAObject CreateObject(string objName, string objType)

Creates a new Analytica object with identifier objName and class objClass in the CurrentModule and returns it as a CAObject.

bool CreateModel(string newModelName)

Creates a new Analytica model with identifier modelName.

bool DeleteObject( CAObject aObject )

Deletes CAObject obj from the current model.

CAObject Get(string objName)

Synonymous with GetObjectByName.

CAObject GetObjectByName(string objName)

Returns an object of type CAObject for an existing Analytica object with identifier objName.

bool MonitorProcess(long pid)

(requires ADE 4.3 or greater) Instructs ADE to terminate (kill itself) if the indicated process terminates before it. Useful when debugging code that uses ADE to prevent zombie ADE processes when your code is terminated prematurely without having a chance to correctly release its objects.

string OpenModel(string filepath)

Reads a model from a disk file and opens it as the current model.

bool ReadScript(string filePath)

Reads and executes an Analytica script file.

void ResetError()

Resets the error code, error text string associated with the error code, and the output buffer to default values. This function is normally used internally, but could be useful in other circumstances as well.

bool SaveModel(string filePath)

Saves the model to file «filePath».

bool SaveModuleFile(string moduleName, string filePath)

Saves module with identifier «moduleName» into file «filePath».

bool Send()

Sends the string contained in the Command property as a command to be executed by ADE. See the Analytica Scripting Guide for details of commands and syntax.

bool SendCommand(string command)

Sends the string command property as a typescript command to be executed by ADE. See the Analytica Scripting Guide for details of commands and syntax.

bool SetCallbackObject(IUnknown* pCallbackObj)

New to ADE 4.6

You call this to provide an object that implements various callback interfaces, such as IAdeUICallbacks, to enable interaction with end-users while evaluation is in-progress.

See Also

ADE Server Class Reference <- CAEngine -> CAObject

You are not allowed to post comments.