|
 |
New
features and fixes in
ExtendSim 7.0.4
Released October 20, 2008
Functions
in 7.0.4
| New functions in 7.0.4 |
 |
E3DLogEvents(long
logFlag) |
Turns on (or off) the logging of Events in the E3D
window. Logging is
off by default. If logFlag
is true (1), Logging will be turned on. Logging
will write messages to the Console.log file in the ExtendSim7
folder when events occur in the E3D window. |
 |
 |
MakeArray2(long blockNum, string arrayName,
long dim) |
Same behavior as the MakeArray function with
the exception that it can be called from an outside block
and doesn’t have to be called from within the block
that contains the array. Note that the ArrayName
argument is the name of the array as a string, not the
array name itself. |
 |
 |
Double GetExtendVersion(long
which) |
Returns a real number in the format 701.2 where 7
is the major version, 1 is the minor version, and 0 is
the middle. The value after the point is 1 for an "a",
2 for a "b", and so on. The final value
is always zero for a file read version.
Which:
0 : application
version
1 : file
version |
 |
 |
DynamicDataTable2(long blockNum, String
dataTableName, String arrayName) |
Same behavior as the DynamicDataTable function
with the exception that it can be called from an outside
block and doesn’t have to be called from within
the block that contains the array. Note that the
ArrayName argument is the name of the array as a string,
not the array name itself. |
 |
 |
DynamicDataTableVariableColumns2 (long blockNum,
string dataTableName, string arrayName, long rows, long
columns) |
Same behavior as the DynamicDataTableVariableColumns
function with the exception that it can be called from
an outside block and doesn’t have to be called from
within the block that contains the array. Note that
the ArrayName argument is the name of the array as a string,
not the array name itself. |
 |
 |
Long ListAddString63s(long
blockN, long listIndex, long string63Count) |
If you wish your linked list to contain
String63s, call this function right
after ListCreate. It
has the same effect as specifying, for example, n String15s
in the ListCreate function. It defines the number of string63s
that will be present in each element of the Linked List. |
 |
 |
Long ListLocked(long
blockN, long listIndex, long locked) |
If Locked is true, this function call marks
the specified Linked List as locked. If ListDisposeAll
is called, that List not be disposed of. If the
function ListDispose is called explicitly on this list,
it will still be disposed. This function only prevents
accidental disposal of the list through the ListDisposeAll
call. Returns a zero if the call succeeds. Returns
a negative error code value if the function fails. |
 |
 |
Long GetDimensionColumnsByName (long
blockNum, string arrayName) |
Same behavior as the GetDimensionColumns
function with the exception that it can be called from
an outside block and doesn’t have to be called from
within the block that contains the array. Note that
the ArrayName argument is the name of the array as a string,
not the array name itself. This also means that the
function can be called with a string variable as the second
argument, and not a hard coded array name. |
 |
| The following functions are
convenience functions intended to be called from Equation
blocks. They
have the effect of querying a Resource Pool block for the
number of available resources or requesting that the Resource
Pool block allocate a resource. These functions are implemented
through the sending of messages and the use of globals.
See the code of the Resource Pool block for more information. |
 |
Void ResourcePoolAllocate(long
ResourcePoolBlockNum, double NumToAllocate) |
Requests the specified Resource Pool block
to allocate the specified number of resources. |
 |
 |
Double ResourcePoolAvailable(long
ResourcePoolBlockNumber) |
Queries the specified Resource Pool block
for the number of resources that are available. |
|
| Functions fixed in 7.0.4 |
 |
OpenExtendFile |
OpenExtendFile could return an error code
even if it succeeded. |
 |
 |
Weibull and Logarithmic distributions |
Weibull and Logarithmic distributions could
rarely generate NaNs. |
 |
 |
UserPrompt |
UserPrompt function could crash if given
a string that was too long. |
 |
 |
SetRunParameter |
SetRunParameter now supports setting the
startdate with a value of 10. |
 |
 |
UserParameter |
UserParameter responds to a press
on the Enter key as if the user had clicked on the OK button. |
ExtendSim
Database
 |
New ExtendSim Database functions: |
 |
String DBToolTipsGet (long
databaseIndex, long tableIndex, long fieldIndex)
|
Returns the current component’s Comments dependent
upon indexes which are non-zero. |
 |
DBToolTipsSet (long databaseIndex,
long tableIndex, long fieldIndex, Str255 value)
|
Sets the current component’s Comments dependent
upon indexes which are non-zero. |
 |
| The following functions
are designed for convenience of use in equation blocks.
They combine the retrieving or setting of a date value
with the conversion of the date value into a SimTime
(model time units) time value. |
 |
Double DBDataGetDateAsSimTime (long
dbIndex, long tableIndex, long fieldIndex, long recordIndex,
long timeUnits) |
Reads a database cell as a date and converts it
to a SimTime value. This allows the user to read
a date value directly as a SimTime value, avoiding
the conversion process. Uses the 4 database indexes. |
 |
Long DBDataSetDateAsSimTime(long
dbIndex, long tableIndex, long fieldIndex, long recordIndex,
double simTimeVal, long timeUnits) |
Takes a SimTime value, converts it to a date and
sets a database cell with that date value. Uses the
4 database indexes. |
 |
Double DBDataGetDateAsSimTimeUsingAddress
(double
addressValue, long timeUnits) |
Reads a database cell as a date and converts it
to a SimTime value. This allows the user to read
a date value directly as a SimTime value, avoiding
the conversion process. Uses a database address instead
of the 4 database indexes. |
 |
Long DBDataSetDateAsSimTimeUsingAddress (double
addressValue, double simTimeVal, long timeUnits) |
Takes a SimTime value, converts it to a date, and
sets a DB cell with that date value. Uses a database
address instead of the 4 database indexes. |
|
 |
Optimizations in the performance
of string fields greatly increase database speed. |
 |
Database initialization occurring before
PRECHECKDATA no longer sends messages to any blocks, greatly
speeding up data initialization. |
 |
New records, either
inserted or appended, are now initialized with the field
initializer if initialization is enabled. If initialization
is not enabled, new records are initialized with blanks
for real or string and zero for integer fields. |
 |
Empirical distributions recalculate
their data tables in all cases of importing and when the
model is opened. |
 |
DB and Table selector components
now sort their entries, making it easier to find the desired
entry. |
 |
Bugs fixed: |
|
 |

|
From 7.0.2 to 7.0.3
Released July 1, 2008
|