Extend 6.x Patch Enhancements

Search
 

From 6.0.7 to 6.0.8
Fixes at the program level in 6.0.8
Attributes Fixed problem where the number of attributes ocassionally calculated incorrectly.
Data tables Data tables now copy properly.
Added at the block level in 6.0.8
Generator Added support for 1,2,3 input connectors if the Generator is off shift.
Resource Pool If off shift, you may now save a change to capacity.
Resource Stats Added number of available of Resource Pools.
Unbatch variable Added a call to send additional items if an item is pulled from the output connector.
Fixes to the blocks in 6.0.8
Numerous blocks Fixed animation in a few blocks and improved timing.
Activity Delay attributes Modified the block report to show changes in attributes.
Activities with multiple capacity Future events now reschedule properly when blocking (items prevented from leaving the activity) is used.
Batch
Fixed the problem where blocking would prevent the Batch block from accepting new items when unblocked.
Value output connectors fixed so they always report the correct value.
Batch (Variable) When connected to a Get Attribute block through the "n" connector, the Batch (Variable) looks ahead to the next item properly now.
Conveyor Belt Fixed the problem where next time was not getting set correctly if the block was empty.
Count Items Will no longer allow additional items to enter the block when an item is already in the block.
DE Equation
Initialized Proof variables every run.
In certain circumstances, the query operation was not getting passed through the DE Equation block.
Executive
If the end of the simulation is not timed, beforeEvent if has been added to the Event output connector.

Adjusted searching for future events so that a round-off error would not be a factor.

Resets the number of current events to 0 after the first set of current events processes.
Gate Now responds immediately to the initial number input connector.
Holding Removed the function call that would cause an error if costing was used and the block was empty when a simulation would complete.
Machine attributes
If the block is set to complete the item before shutting down, you may now save the shutdown duration .
If the block is off shift, items are now rejected properly.
Matching
If average is selected and more than two items are batched together, attributes now work correctly.
Batches of size 1 now work properly.
Queue blocks Queues now properly turn on the global costing variable if costing is enabled in the queue.
Queue Resource Pool Fixed the problem with finding the Reseource Pool if Closest Resource Pool checkbox has been selected.
Process Preemptive Delays that are less than 0 are now set to 0.
Resource type blocks Number of shifts are now initialized correctly.
Resource Pool No longer allows 0 units of a Resource Pool to be required.
Throw Removed sorting as this could cause different results from one run to the next.
Transaction Preemptive Delays that are less than 0 are now set to 0.

From 6.0.6 to 6.0.7
Fixes at the program level in 6.0.7
Network version
Added the Serial Number back onto the About Extend screen.
Improved Level II and III networking capability.
The Mac version on multiuser and write protected systems will now behave better.
Older file read-in Improved reading of older files.
Plotter datapane Fixed crash of Plotter Datapane columns from resizing to zero.
Structure window

Fixed dropping of text into the Help pane.

Textblocks Corrupted textblocks will now self correct themselves in many cases.
Fixes to the functions in 6.0.7
AppendDataTableLabels Now works properly with a string Datatable.
ClearBlock Has the ability to delete right angle connections.
CloseModel Fixed problem where message was being sent multiple times to blocks.
CreateClone No longer has problems when calling the function during openModel.
DuplicateBlock

Now works inside an hBlock if the hBlock is open.

GetLibraryPathName Works better.
HyperGeometric distribution Corrected.
MakeConnection Now makes right angle connections if specified as the default.
ODBCConfigDataSource Requires semi-colons for the Attribute string.
WaitNTicks Less processor intensive
Added at the block level in 6.0.7
Activity Service

Added reentrance flag in CalcDemand to prevent this procedure from being called in a loop.

Decision (5) Added "_" for attribute names in equation.
Process Preemptive & Transaction Preemptive Notify message added to interrupt out connector.
Program Added additional messaging in CheckStart procedure.
Queues Added an "on HAnim" message handler to show/hide the animation object(s) on the enclosing hierarchical block's icon.
Fixes to the blocks in 6.0.7
Activity Multiple & Transaction
Fixed problem with multitasking activity. Item leave times were not calculated correctly.
Reset TimeArray to infinity if output is blocked.
Blocks that generate random variables Random seeds are now reinitialized every run if the random seed is random (0 or blank). In the past, the random stream was continued. This change allows the modeler to capture the random seed from any given run and use that seed to repeat that run.
Statistics blocks Revised ConvertNumToString so that multiples of 26 columns work correctly when exporting to Excel.
Status
Removed redundant calculation of TimeIntervalOut and extra call to calc().
Removed resetting TimeIntervalOut in certain circumstances.
Fixes to the Industry module in 6.0.7
Equipment controller Downtime and failure fixed.
HBlock animation Improved in DB Matrix Lookup, DB Lookup, DB Inject, and DB 3D Lookup.
Random distributions Additional random distributions available to match all the distributions from the Input Random Number block.
Read Tables Works better when text file is not being read in on initialization.

From 6.0.5 to 6.0.6
Added at the program level in 6.0.6
Password protection

Password protectionThe Lock Model menu command has been enhanced to include password protection. This password is saved with the model, and once set, cannot be removed except by choosing the Lock Model command again and specifying the password. Note: if you lock your model and forget the password, you will NOT be able to unlock the model file.

If the model is not already locked, the dialog will appear when the Lock Model command is chosen. Enter the password you choose into the Enter Password field and enter it again into the Repeat Password field. The optional "Lock Hblocks" checkbox determines if the hierarchical blocks on the locked model will be openable, or not. If you check this box, double clicking on a hierarchical block in the locked model will not open its worksheet window.

If you select the Lock Model command when the model is already locked with a password, the above dialog will appear.

Fixes at the program level in 6.0.6
ActiveX/OLE objects

Embedded ActiveX/OLE objects in hierarchical blocks should behave better:

Embedded objects had an internal name limit of 40 characters, which could cause unexpected results for objects with longer names.
Poke and Request Methods were improved to support address of strings as well as strings. (This was done to support Visual Studio .Net, which now passes string addresses for code that passed strings under Visual Studio V6.)
Running a simulation async from an external application should behave better.


Datatables

Resizing of datatables in the block structure dialog editor is improved.

Dynamic Text Dynamic Text dialog items could cause a crash in some cases when empty.
GetMsgSendingBlock function The Function GetMsgSendingBlock was returning the wrong block number in some cases.
Global values Scripting a global value with no model open could cause a crash.
SetSelectedConnectionColor function SetSelectedConnectionColor will now work on hierarchical block worksheets, not just at the top level.
GetDialogItemLabel function GetDialogItemLabel could crash if the dialog box was closed and there was a clone of the dialog item on the worksheet.
Added at the block level in 6.0.6
Encapsulated referencing Added encapsulated referencing technology for blocks that reference other blocks. Used in blocks that have "connectionless" connections (such as the Queue Resource Pool, Throw, and Catch blocks). Choosing this option limits the number of blocks displayed in the search popup. If the search identifies duplicate blocks, it only displays the one that is the closest hierarchically. This reduces the number of blocks visible in the popup menu and forces the connectionless connections within a hierarchical block to be local to that hierarchical block. (Many thanks to the folks at Boeing for their suggestions, sample code, and testing of this feature.)
Direct Export to Excel Added direct Export to Excel from the "statistics" blocks. Summarized results can be automatically sent to a new worksheet at the end of every simulation run.
Statistics blocks

Added encapsulated referencing
Added direct export to Excel
Added "last column is run number" option

Release Resource Pool Added encapsulated referencing
Queue Resource Pool Added encapsulated referencing
Throw Added encapsulated referencing
Catch Added a list of Throw blocks that can throw to this Catch block
Shift block and blocks that use shifts Added encapsulated referencing
Fixes to the blocks in 6.0.6
Discrete Event and Manufacturing libraries
Activity Service Fixed re-entrance problem. An item could be brought through the block in response to a demand message when a different item was in the process of moving through the block.
Batch Added a return from "on itemsXin" when getting is true; otherwise it could cause a message loop
Conveyor Removed the setting of NextTime when the Jump is calculated in GetItem. This was preventing the conveyor from turning when an item first arrived.
DownTime(Unscheduled) Was calling RandomCalculate() improperly.
Machine & Station blocks Added checking shift status to calculate utilization.
Queue Matching Fixed problems with animating to hierarchy.
Queue Resource Pool Added FindResourcePools and fixed the problem with hirearchical block animation; the first object incorrectly showed the queue length.
Queue Reneging Fixed the problem with hierarchical block animation; the first object incorrectly showed the queue length.
Shutdown Fixed re-entrance problem. An item could be brought through the block in response to a demand message when a different item was in the process of moving through the block.
Station blocks Added randomCheckParam to CheckData to ensure that the random parameters are feasible.
All blocks Resolved an obscure costing bug where under certain conditions, itemArrayC was not getting created.
Equation-based blocks Had an error in their block reporting that stemmed from the conversion to dynamic equations.
Generic library
Command Altered how and when the commanded file was being opened.
DataSend and DataReceive In the Advanced tab, there were logic errors implementing error checking on the checkbox for row incrementing.
Global Array Manager Added block number to error messages and removed the appending of the worksheet number to the sheet, which is no longer necessary
Global Array
Converted numerous calls that referenced the array by name to calls that referenced the array by index.
Added setting UseCols = GaGetColumns(UseArray); in initsim.
Added GetIndex() to initsim so that if array type is changed it will be retrieved at the start of the simulation.
Added error message to indicate if global array is not selected and something is connected.
Messages are no longer sent to other global array blocks if the value does not change.
Constant Fixed a bug in the "Retain if updated from hierarchy" functionality and improved "unique identification" by using global block numbers instead of X/Y pixel coordinates.
Fixes to the Industry module in 6.0.6
Duplicating hierarchical block When duplicating a hierarchical block with a DB Extract or DB Inject block, the block will stay linked to the appropriate block.
Pause, Save, and Revert Pause, Save, and File Revert functions now work properly with the Industry blocks.
Join5 Adjusted initialization of a block variable in Join5 (Percent).
Flow To Item block Restructured the attribute code in the Flow To Item block so that it is now based on Extend’s v6 attribute structure.
Animator block An error message was added to the Animator block when it cannot find an appropriate picture.
Store block Modified the Advanced Mode in the Store block to include an option for the block to satisfy its restart levels before allowing flow again after rate=0 from upstream or downstream blocks.
From 6.0.4 to 6.0.5
Added at the program level in 6.0.5
Preferences Added Preference to save Print Setup information with the model.
Fixes at the program level in 6.0.5
Connector information Restores properly during a continue.
File sharing issue on NT systems Fixed problem with file sharing with Extend running on NT that caused distortion in some dialog and block items. The workaround was to allow write access; however, that is no longer needed.
GACopyArray Passing empty arrays work smoothly.
Graphics clipping Certain graphics which exhibited clipping problems has been corrected.
Hierarchical block moves Will not crash after moving an Hblock then performing another action quickly
Large models Extend handles large models better in 6.0.5.
Model size No longer grow in size with each save.
PauseSim function Works better.
PopupMenuArray Handles an array with more than 10 elements better.
Printing Clean printing for models scaled to other than 100%.
SetConnectionColor No problems with redraw any longer.
Fixes to the blocks in 6.0.5
Batch block Corrected reentrance problem in GetItem. Moved the updating of stock[] array to before taken message is sent.
BPR library Modified icons in the library so that they would print better.
Data Send The optimization behavior was ALWAYS on even if the checkbox was unchecked.
Generator When max number of items generated is set to zero, it no longer generates an item.
Global Array Manager
ODBC data transfer Added disposing of temporary arrays.
Table list Added error check if user clicks outside of table list.
Input Random Number block Fixed issue with empirical interpolated table.
Machine and Station blocks Shift utilization statistics now calculate correctly when statistics are cleared.
Optimizer constraints Now includes up to 20 variables.
Prioritizer block Items are no longer being rejected too often.
Process Preemptive and Transaction Preemptive blocks
Updated the Help text.
When using a number shift, remaining processing time is now calculated properly.
Proof Animate block Icon animation for Directional and NonDirectional was added.
Queue Decision Tie break condition has been fixed.
Queue Matching Fixed queue batching when multiple Queue Matching blocks are daisy-chained together.
Queue Reneging Added sending of notify message.
Resource Pool block "Pending" is now defined properly. A number shift no longer decreases the total number of resources in the pool.
Resource type blocks Fixed a problem in the resource type blocks where the number of items available would not be correct if the shift went off and then on again before the items were returned to the resource.
Select DE Input block When enter first is selected, items are no longer being pulled in whether or not a downstream block can accept those items.
Status block Added new function to correctly calculate the interval statistics from a notify message.
Unbatch and Exit 4 blocks Added reverse flowchart icon view.
Unbatch Variable block Demand connector now properly pulls items in.
Fixes to the Industry module in 6.0.5
Database Manager The export function did not correctly export the initial seed setting.
Equipment Controller - Competing cause mode
TTR Was being added twice when incrementing the next time for causes other than the failure
cause.
Results tab Now is Competing Cause
compliant.
Time unit factor Has now been applied to TTR and TBF.
Flow to Item The block previously stored data in the wrong attribute in the first model run.
From 6.0.3 to 6.0.4
Added and updated in 6.0.4
Animation speeds Separate models support separate animation speeds.
Fixes at the program level in 6.0.4
Paste-links Recreating paste-links will create ones that work correctly when you manually update them as well as when they are automatically updated.
Running multiple models Switching between running models by clicking on a notebook, dialog box, or other non-worksheet document was causing one of the models to quit.
OLE embedded objects Empty or invalid OLE embedded objects didn’t save correctly.
Notebook Allow clicks on the Notebook while a simulation is running.
Placement of new blocks Placing a new block sometimes didn’t adjust the size of the worksheet properly.
Running a simulation Running a simulation with an empty model would cause a crash.
OLE/ActiveX communication Excel-Extend OLE/ActiveX communication would sometimes disrupt the proper functioning of Excel.
Old hierarchical blocks Old Hblocks in libraries would sometimes not read in correctly.
Datatable A single character datatable column label or popup menu item would not draw properly.
Datatable Leading semicolon in datatable titles was not interpreted as a blank item, but was skipped.
Structure window Function menu in the Structure window was incorrect under some conditions.
Copying blocks While copying part of a worksheet, blocks and dotblock could become confused as to whether selected or not, causing redraw problems when pasting.
GAPopupMenu GAPopupMenu allows any size string array, not just string15.
FileRead Spaces were not working correctly as file delimiters in fileRead.
Fixes to the blocks in 6.0.4
Stats block Number of observations that can be included in a confidence interval in a Stats block has been increased.
Queues W connectors on queues are updated earlier in the process of sending an item so that it can be used to control a Select DE Output block.
Resource Pools Minimum number of resource pool units required by Queue Resource Pool and Release Resource Pool can be 0.
Throw and Catch blocks Multiple instances of the same Catch block can be selected in the attribute-based table in the Throw block.
Data Send, Data Receive, and Global Array Manager blocks Improved performance and reliability of accessing embedded objects.
Global Array value If a number is added to a blank Global Array value, the blank will be treated as if it were a 0.
Global Array blocks Revised error checking to be more efficient.
Rotate command in Proof Animate Item Fixed incorrect specification.
PlotPack ActiveX control Updated to a newer version (3.0.3).
From 6.0.2 to 6.0.3
Added and updated in 6.0.3
ODBCConfigDataSource(long fRequest,
string szDriver, string szAttributes)
Calls the Windows API SQLConfigDataSource() function with the entered arguments.
Help text Added mouse wheel support in Help text.
Attributes The maximum number of Attributes has been increased from 300 to 500.
Fixes at the program level in 6.0.3
Toolbar Doesn’t flicker when redrawing.
Structure window If the icon pane is empty, the Structure window will not close.
OS X Cleaned up some interface/appearance issues on OS X.
Clones Clones of DialogPicture dialog items should behave better.
Notebook Embedded Objects cloned onto the Notebook should work better.
Debugger The Variables pane in the Debugger is now wider.
Double-clicking Fixed double clicking issue that was occurring on very slow machines.
Hierarchical blocks Embedded Objects in Hblocks should work better.
Hide connectors command Hide connectors command will work if the front window is an HBlock.
Paste link Deleting a block no longer deletes Paste link connections from other blocks on the worksheet.
OLECreateObject Connects better to Office applications.
OLE Safe Array calls Cleaned up some leaks and errors.
FileIsOpen Deals better with long pathnames on Windows and works better on OS X.
MouseWheel Will not cause a crash if used for a long time.
Right-click popup menus Fixed the missing items on the menus.
Fixes to the blocks in 6.0.3
Animation library
Proof Animate Item Added foreground and layout for set color.
BPR library
All blocks Fixed alternate icon view bug.
Generic library
All blocks Fixed alternate icon view bug.
Data Send/Receive
Fixed Mac compatibility.
Resolved embedded excel object naming issue.
Global Array Manager
Enhanced ability to detect the number of open Excel workbooks.
Added check to make sure ".mox" was appended to the end of the name of the embedded workbook.
Input Random Number
Revised display of Pareto, Johnson SB, and Beta distributions.
Corrected parameters in Loglogistic distribution.
Fixed Stat::Fit import of Pearson 6 and Beta Distributions.
Revised Beta distribution.
Mean and Variance Added moving average.
Manufacturing library
All blocks Fixed alternate icon view bug.
All Batch\Unbatch blocks Fixed Preserve Uniqueness issue.
Select DE Input and Output Fixed item messaging issue.
Discrete Event library
All blocks Fixed alternate icon view bug.
All Batch\Unbatch blocks Fixed Preserve Uniqueness issue.
Combine Fixed item messaging issue.
Count Items Fixed reset bug.
Queue Resource Pool Improved performance.
Select DE Input and Output Fixed item messaging issue.
Throw Revised catch block search.
From 6.0.1 to 6.0.2
Added in 6.0.2
Cntl Home and Cntl End Cntl Home and Cntl End have been implemented as the end of text and beginning of text while text editing.
Shift + Arrow Use shift + arrow to extend a selection.
Limited context sensitivity for online Help Hitting the F1 key or selecting the menu command will open into different parts of the Help system depending on where you are in the program.
Popup menu length The maximum length of a popup menu was increased to 20 strings (5100 characters).
Fixes at the program level in 6.0.2
Memory leaks Have been plugged.
RunSimulation/Execute Menu This command now works better when it is being called from scripting.
Open model while one is running External scripting can now open a model while another model is running.
Demo.mox model file Demo.mox is not added to the recently opened file list.
Hierarchical blocks Hierarchical blocks in libraries have several fixes.
OS X Models larger then 20 megs should not have a problem.
List functions Deal better with BLANKs in 6.0.2.
ShowFunctionHelp Now displays functions by type correctly.
Fixes to the blocks in 6.0.2
Shift block Fixed problem where the name of the shift would not be restored to its original value if cancel was selected.
listDisposeAll(long blockNum) Disposes all linked lists in a block. Returns TRUE if the block doesn't exist or the lists have already been disposed.
Costing in a queue If costing was used and no items were in a queue, an error would result at the end of the simulation.
Batched items Arrays that stored batched items when "preserve uniqueness" was checked are now properly deleted and maintained.
Constant block Fixed a problem in the Constant block where it could get stuck in an infinite loop if Retain in Hierarchy was selected.
Activity Multiple Changed the way jobs were getting rescheduled when the Shift block was interrupting jobs midstream. When the Activity block came back on shift, the times that the items were scheduled to leave was not calculated correctly.
Count Items Added sendMsgToInputs in "on resetIn" if the "currentOutCheckBox" is checked.
Global Array Manager Changed reference of WorkbookName (a dialog parameter) to fileName in BuildWorksheetPop. This fixed a problem where the import spreadsheet name was used for exporting.
Global Array Manager Fixed problem if resizing an array was cancelled.
Get Attribute Fixed problem where Get Attribute connected to a Select DE output was not always working properly.
From 6.0 to 6.0.1

Edit text box

When you type past the end of an editable text box, the text scrolls to the insertion point.
FileNew (Mac only) FileNew now functions properly on the Macintosh.
FindInHierarchy FindInHierarchy now finds H-blocks.
Items with Preserve Uniqueness If an item with Preserve Uniqueness is destroyed (not unbatched), the member items are now disposed.

Kanji language

Fixed Kanji language input for Kanji language systems.

Open Model message If the Open Model message is aborted, you receive a error message warning.
Preserve Uniqueness in Unbatch blocks Preserve Uniqueness in Unbatch blocks now works correctly if the number of items to unbatch does not match the number of items batched.
Run Status Bar The text "Paused" appears on the Run Status Bar on the model window when you pause a model.
Functions added or modified after the manual was printed
AppendPopupLabels Now accepts up to 5100 characters.
GetDialogItemInfo(long blockNum, string variableNameStr, long which)

Returns TRUE if "which" qualities are true for the dialog item:
1: hidden
2: enabled
3: display only

isSimulationPaused() Returns a TRUE if the simulation is paused or is about to pause.
ListDisposeAll(long blockNum) Disposes all linked lists in a block. Returns TRUE if the block doesn't exist or the lists have already been disposed.

ListGetDouble
ListGetLong
ListGetString
ListSetDouble
ListSetLong
ListSetString

Descriptions are missing the following information: If elementIndex is passed in as a value less than zero, it refers to the current newly created, but not yet added, item. If elementIndex is zero or greater, it is used as an index value into the specified list.
ODBCConfigDataSource(long fRequest, strong szDriver, string szAttributes) Calls the Windows API SQLConfigDataSource() function with the entered arguments.
OLEDispatchGetDispID(long dispHandle, string theName) Given a function/variable Name, returns the DispID. This function is the same as OLEGetDispID except that it is expecting a DispHandle instead of a block number and dialog item name.
OLEObjectIsRegistered(string clsid) Checks to see if a specific CLSID is already registered. It returns TRUE if the CLSID is already in the register and FALSE if it is not.
PauseSimForSave() Pauses the current running active model for saving. This allows the user to save the model while paused and enables the Continue Simulation command discussed on page E224, Saving Intermediate Results. Note: The PauseSim function does a pause immediate which is useful for debugging, but will not allow saving the model. The model can be saved buy using the Save menu command or the SaveModel() function.
PlaceBlock Description is missing the following information: If the neighbor field is filled in with a block number of a block already on the worksheet, then the xPixel, yPixel values are relative to the location of the neighbor. Otherwise if neighbor is -1 (no neighbor) they are absolute worksheet coordinates.
RandomCalculate

There are additional distribution codes:

ExtremeValue1A 20
ExtremeValue1B 21
JohnsonSB 22
JohnsonSU 23
Laplace 24
Rayleigh 25
InverseWeibull 26
Logarithmic 27
Hypergeometric 28
Cjosqiared 29
PowerFunction 30
RandomCheckParam

This function now has more error return codes:
-8 Arg1 is negative or less than 1.0e-15
-9 Arg2 is negative or less than 1.0e-15
-10 Arg3 is negative or less than 1.0e-15
-11 Arg1>=Arg2
-12 Arg1 > 1.0
-13 Arg2 > 1.0
-14 Arg3 > 1.0

UserParameter Description is missing the following information: Displays the prompt string and default string, then returns either the entry typed, or the default string if there was no user entry, or the empty string ("") if Cancel was clicked.