ADE Server Class Reference

Revision as of 02:49, 2 June 2015 by Karenlee (talk | contribs)

ADE User Guide >

The five ADE server classes are CAEngine, CAObject, CATable, CAIndex, and CARenderingStyle. They are listed below in that order, with a complete description of the properties and methods of each class.

CAEngine

Creation

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.

See CAEngine for language-specific details.

Properties

Methods

CAObject

Creation

A CAObject instances cannot be created directly. You must obtain a CAObject as the return results of other methods. The most common method used to obtain a CAObject is CAEngine::GetObjectByName (or its synonym, CAEngine::Get).

Properties

Methods

CATable

Creation

Properties

Methods

CAIndex

Creation

Properties

Methods

CARenderingStyle

Creation

Properties

Methods

none

CALicense

Creation

Properties

Methods

IAdeUICallbacks

New to ADE 4.6

This interface allows you to implement callbacks that are called when Analytica functions requiring user input are evaluated. You can implement these callbacks to support these user interface interactions in your own application. In many cases, the name of each method corresponds fairly directly with the name of the Analytica function that produces the user interaction.

When your application does not implement this interface, most of the functions requiring user interaction will do nothing when evaluated in ADE.

The "IAde" prefix stands for "Interface ADE". Your own code can define a class that subclasses this interface and implements its method, and then pass it to CAEngine::SetCallbackObject.

Methods

  • long MsgBox([in] string title, [in] string text, [in] long buttons)
  • bool ShowProgressBar([in] string title, [in] string text, [in] double p)
  • void HideProgressBar()
  • string AskMsgText([in] string question, [in] string title, [in] long maxText, [in] string defaultText, [in] bool bPassword, [out] bool* bCancel)
  • double AskMsgNumber([in] string question, [in] BSTR title, [in] bool bShowDefault, [in] double defaultNumber, [out] bool* bCancel)
  • long AskMsgChoice(([in] string question, [in] BSTR title, [in] array<string> optionList, [in] long defaultPosition, [in] bool bShowAll, [out] bool* bCancel)
  • string AskMsgComboBox([in] string question, [in] string title, [in] array<string> optionList, [in] string defaultText, [in] bool bShowAll, [out] bool* bCancel)
  • string GetFilename([in] string function, [in] string defaultName, [in] string directory, [in] string extensions, [in] string caption, [in] CAObject* callingIdent)
  • void FileOpenCompleted([in] string function, [in] string fullFilePath)
  • void ShowPdfFile([in] string filepath, [in] string bookmark, [in] bool bSearch, [in] bool bBookmarks)
  • void OpenURL([in] string url, [in] string window, [in] string specs)

Examples

PHP

The attached PHP script:

  1. Creates an instance of ADE.
  2. Creates a new model.
  3. Creates a Variable Object.
  4. Modifies the definition of the created Variable to '4+1*7'.
  5. Get the result back from the created object and prints it out.
  6. Saves the created model to a file 'TestModel.ana' in the current directory.
  7. Closes the model.
<?php
    $currentPath = getcwd()."\\";
    $ade = new COM("ADE4.CAEngine") or die("Unable to instantiate ADE");
    echo "ADE successfully loaded.\n";
    $modelCreated = $ade->CreateModel("MyNewModel");
    if($modelCreated == true){
        echo "Model successfully created.\n";

        $newObject = $ade->CreateObject("MyVariable", "Variable");
        $newObject->SetAttribute("Definition", "4+1*7");

        $result = $newObject->Result();
        echo "The new object's result is: ". $result .".\n";

        $ade->SaveModel($currentPath."TestModel.ana");
        $ade->CloseModel();
        echo "Model succussfully closed.\n\n";
    }
    else{
        echo "Model creation failed.\n\n";
    }
?>

See Also


See Also

Working with Models, Modules, and Files in ADE <- ADE Server Class Reference ->
Comments


You are not allowed to post comments.