If each time you click a Help button in a block dialog you get the same Help content regardless of which block you are in, you might be encountering an issue with cached information not getting updated properly. To resolve this:
Navigate to the AppData folder at c:/Users/username/AppData/Local/QTProject\Assistant.
Delete the entire Assistant folder that contains cached information.
Relaunch ExtendSim. The Assistant folder will be recreated in AppData as an empty folder. At this point, your Help system should be working better.
There are two reasons why ExtendSim would be installed on a device, but the ExtendSim application does not appear in Settings > Apps > Apps and Features:
If ExtendSim was installed to the end user's account by an Administrator. In that case, the End User can launch ExtendSim (usually from the list of apps in the Start menu) and use it as normal. However, they will not be able to uninstall ExtendSim. The app will appear in Apps and Features when the Admin logs in, so the Admin can uninstall it.
If ExtendSim was uninstalled while the application is open. In that case, ExtendSim will not launch correctly, but will instead give an error message about missing documents. Also, the two folders that contain ExtendSim files will have some files missing (the ones that weren't in use when the app was uninstalled). Since the app has been "uninstalled", just delete the two folders: Documents/ExtendSim and Program Files/ExtendSim.
When ExtendSim is installed, two ExtendSim folders are created. By default one folder is placed in Program Files and the other is placed in Documents. There are two reasons why one or both of those folders are left after you uninstall ExtendSim:
The installer can't uninstall files it didn't install. After installation, ExtendSim creates various files (ExtendSimDocPath.txt, a license file, etc.) Also, you may have created models and libraries and saved them to the ExtendSim folder. When ExtendSim is uninstalled, only the files that were originally installed get deleted.
The installer doesn't know if an ExtendSim folder has been moved after installation. For example, it cannot remove any of the files in an ExtendSim folder that was moved from the Admin's Documents folder to the end-user's Documents folder.
This might happen if you are using ExtendSim 10.0.7. The application development framework used by ExtendSim had a bug in their software that could cause pictures/images on model worksheets to disappear. They have fixed the bug and the fix has been included in future releases of ExtendSim.
While running ExtendSim on a virtual machine such as on a Macintosh device using an emulator such as Parallels, you may not be able to view the ExtendSim Help system via the menu command nor view Block Help by clicking on Help from within certain blocks.
Viewing the ExtendSim Help system while using a Mac
The good news is the entire ExtendSim Help file is saved as a PDF file so is easily accessible and readable on a Mac. Simply browse to the ThisPC/Documents/ExtendSim10/Help folder. Double-click the ExtendSim Help file to open it.
Accessing ExtendSim Block Help on a Mac
Block Help might be a bit more cumbersome to access in some ExtendSim blocks. As with most Windows-based applications, some of the ExtendSim Block Help files use Microsoft Compiled HTML Help. It is a Microsoft proprietary online help format consisting of a collection of HTML pages, an index, and other navigation tools. The files are compressed and deployed in a binary format with the extension .CHM, for Compiled HTML. Unfortunately, for Mac users, CHM files cannot be directly opened.
If you click on a block's Help and see a blank window, use one of these options to access Block Help:
Use an online CHM reader for Mac that converts the CHM files to PDF; such as Convert CHM to PDF by Zamzar. As there are 29 ExtendSim blocks that use the CHM format, this might be a tedious option. (Note, the majority of ExtendSim blocks use a different technology for their block Help that IS readable while using Parallels.)
Or copy and move the Help folder to the C drive:
Make a duplicate of the ExtendSim Help folder found in the ThisPC/Documents/ExtendSim10 folder.
Move the copy of the Help folder to the C drive so it is located at ThisPC/Local Disk(C:).
Open the copy of the Help folder on the C drive. Double-click the Compiled HTML (.CHM) file to view a block's Help.
Memory fragmentation happens when a large portion of a computer's random access memory (RAM) is separated into many non-contiguous chunks. The fragmentation can leave a high percentage of RAM memory unused but also unusable resulting in memory issues. If RAM is low or unusable, an application will use the computer's hard drive as virtual memory (which slows operations) or report low or out of memory problems.
Memory fragmentation is common with data intensive applications such as ExtendSim, where the allocation, disposal, and reallocation of memory is ongoing during model runs. For example:
During a run, an ExtendSim model determines that it needs 10 bytes of memory to temporarily store data. In response, the computer's system allocates a 10 byte chunk of memory.
Later in the run, the model discards that data, which disposes of the allocated memory. This leaves a 10 byte empty slot.
The model next needs an 11 byte chunk of memory, which can't fit into that 10 byte empty slot. So the computer's system allocates a new 11 byte chunk.
Think about the case where the model gets 100mb chunk of memory and later disposes it, but then needs a 101mb chunk. If this happens repeatedly, you can see how memory gets clogged up!
There are two ways to deal with reports of memory issues:
Add more RAM memory to the computer. This gives the model more empty slots to choose from and avoids using the computer's hard drive as virtual memory. Also, more memory will be usable if additional slots become available and then join with adjacent empty slots to form larger empty slots.
If ExtendSim has been running models for a long time, and doing so won't interrupt your analysis, restart ExtendSim. When ExtendSim is restarted, the operating system removes all the memory allocations.
Memory leaks occur if some of the memory used in an operation doesn't get properly disposed of at the end of that operation. For example, this happens if a custom block's dynamic array is not properly disposed of in the code. A small memory leak won't cause a problem but memory leaks become significant if they accumulate. This could happen, for example, if the memory for that dynamic array is constantly being reallocated, but not disposed of, over multiple runs. While memory leaks can also occur from ExtendSim, most memory leaks are caused by the code in custom blocks.
There are two ways to deal with reports of memory leaks:
If ExtendSim has been running models for a long time, and doing so won't interrupt your analysis, restart ExtendSim. When ExtendSim is restarted, the operating system refreshes all the memory allocations.
Examine your blocks and models to search for memory leaks:
The RealTimer block (Utilities library) is helpful if you build custom blocks that might cause memory leaks. Temporarily place the RealTimer block in your model, enable block profiling on the Block Profile tab, select the settings you want, and run the model. This block provides a lot of information about the blocks, including the difference in memory usage at the end of the run compared to the beginning.
The Memory Usage block (Utilities library) looks for differences between all block components (libraries, hierarchical blocks, databases, and global arrays). Temporarily add the Memory Usage block to your model and copy the information it reports to Excel or some other location. Then run the model as you normally would. When the model run(s) are finished, compare the Memory Usage block's information to what was originally reported.
Since they will slow performance, remove these blocks from your models once you've finished using them.
You might notice that the second and subsequent runs of a simulation take longer to run and use more memory than the first run. Most often that is because a large amount of data has been stored in the model during the first run. In subsequent runs, that data has to be disposed of before it can be replaced with new data, causing longer processing times.
The RealTimer block, discussed above, is helpful for determining how much memory and simulation time specific blocks are using during runs.
A zero-day arbitrary code execution vulnerability CVE-2021-44228 (also known as Log4Shell) was discovered December 9, 2021 and affects the Apache Log4j library versions from 2.0 to 2.14.1. Log4j is a logging tool used in many Java-based applications. Successful exploitation of the Log4Shell vulnerability allows for arbitrary code execution in the targeted application, granting the attacker full access and control of the affected application. This could extend to the device the application is running on as well as networks beyond individual compromised devices.
ExtendSim is not a Java-based application and does not rely on software written in Java. Furthermore, we have analyzed the ExtendSim products and services and have not identified any instances of Log4j.
This problem can occur when working on multiple monitors, then switching from multiple monitors to a single monitor. The "hidden but open" window has actually opened outside the boundaries of the current ExtendSim application. The model window is remembering its previous location when ExtendSim had broader boundaries on the additional monitor.
To find windows that have disappeared from view, either:
From within ExtendSim, go to the menu command Window > Tile or Window > Cascade. Both Tile and Cascade will display all your open windows within your ExtendSim window.