Analytica 4.0 beta Release Notes/

Changes in


Known issues

  • Note: One new bug in is known. Handle(o), when o is a local variable, may not parse correctly. This may impact expressions performing Meta-Inference, although it isn't considered significant enough to hold back this build. It'll be remedied in the next build.
  • ADE There is a problem adding a reference to this build of ADE in a new Visual Studio project. (existing projects that already have ADE added aren't affected).


  • In browse mode, input and output nodes highlight when selected.
  • Pressing TAB when viewing a diagram moves to the "next" selected node. The order of nodes is now based on the geometric layout of nodes, so the selections tend to move left-to-right, top-to-bottom. Formerly, tab moved in the order in which nodes were created.
  • In browse mode, when TAB moves to the next node, text nodes and picture nodes without scripts are skipped.
  • In browse mode, pressing Enter when an input or output control is selected acts as if the control button was pressed, bringing up the input or result table or opening the choice pulldown. For a choice pulldown, the down-arrow key can also be used.
  • When Snap-to-grid is on, or when Shift-arrow is used to move a node when snap-to-grid is off, the selected node moves to the next grid position, rather than moving by one full grid increment if the node is not currently on the grid.
  • When a variable is defined as a distribution, its class is automatically changed to Chance. (This used to work, but hasn't been working in recent beta releases).
  • After you change the node style (such as font), Analytica will no longer reduce the node size to fit the new text.


  • The Comparison Index pulldown cannot be changed in browse mode.
  • An option has been added that allows font size to automatically grow (or shrink) as you change the size of the graph window.


  • It is possible to have different columns in an edit table use different number formats. This makes it possible to have one column that parses dates, and other columns that display percentages and others displaying dollar amounts after a quantity has been entered. In order to make this work, you need a self index with each element having an object identifier. The object pointed to by that handle determines the number format for that column.
  • When windows are maximized, some edit tables would sometimes open with the scroll bars in the wrong place. This has been fixed.

Scripting & OLE Linking

  • Changing the Moniker attribute from a button script now causes an OLE link to re-establish itself to the newly specified data source. This makes it possible for your Analytica model (via a button script) to automatically adjust the data source for OLE linked data.
  • If a variable is defined as a Choice, and it Script attribute contains typescript commands, the typescript is run whenever the user changes the selection in the Choice pulldown.
  • The typescript command List previously would show local index objects that weren't in the global namespace. These are now not shown by this command.
  • When assignment is used in a button script to copy a value into an edit table, undefined values appear as blank cells in the newly created definition. (Blank cells cause warnings to be issued when evaluated and have other special treatment -- see Table Splicing).


  • The Gamma distribution function now accepts zero for the first parameter.
  • The Handle function can now be used directly to obtain handles to modules and other non-definable Analytica objects.
  • The Unique function accepts an optional position parameter. When set to true, e.g., Unique(A,I,position:true), the index positions are returned rather than the index values. This is the positional dual of Unique(A,I).
  • The two-parameter Slice(A,n) usage can now be used to slice a multi-dimensional array A on its list-dimension when A has an implicit dimension.


  • The system index Run now uses Integer number format by default.


  • Tables in Analytica can utilize different number formats for each column. This happens if the self-index value for the table contains object handles, in which case the number format for the object pointed to is used. ADE's CARenderingStyle::NumberAsText now utilizes this, so that the column-specific number format is used, as it is in the Analytica UI.
  • CATable::SetDataByElements rejected the first parameter when a VARIANT containing a BY_REF-VARIANT was passed in. It was found that VB 6.0 and CScript would occassionally pass this combination.
  • The method CARenderingStyle::VarTermFormat has been deprecated and renamed to CARenderingStyle::HandleFormat. (The old method name still works, but the new name more consistently reflects current terminology).
  • CAObject::CreateDefTable - when a non-existant index is passed, no error condition was being signaled. This was fixed.
  • When CATable::Subscript is used to slice on an index element that is a Handle, by passing a string containing the object's identifier, this previously worked only if the string was upper case, but is now case insensitive.
  • Using ADE.exe /Regserver, or Regsvr ADE.dll, was not creating every relevant registry key. These have been added.
  • CARenderingStyle now has a NullValue property, which functions similarly to the CARenderingStyle::UndefValue property for specifying the value returned when the Analytica cell contains null.

You are not allowed to post comments.