Menu

Loading and Unloading a Project

 
The Absyntax Excel Add-in is designed to facilitate the speedy invocation of Absyntax projects.  To do this it makes use of the capabilities of the Absyntax framework to load projects into computer memory and, once they are loaded, invoke them on demand.  This approach avoids the time-consuming overhead of unnecessarily reloading a project from file.
 
The first time a project invocation rule is invoked, Absyntax will need to load the target project before invoking it.  When a rule is invoked subsequently, the Absyntax Excel Add-in determines whether any of the rule's material details (specifically, its time limit and the project path) have changed since the last time it was invoked.  If they have, or if the rule is configured to reload the target project, and if there is a loaded project associated with said rule, the currently associated project is unloaded before an attempt is made to load the rule's target project.  Equally, when a run is executed and the add-in identifies that a loaded project no longer has an associated rule (because the rule has been deleted), the orphaned project will be unloaded.
 
The following situations will also result in a loaded project being unloaded.
 
 

Project State

 
Subject to the above, a loaded Absyntax project will remain in computer memory between invocations.  This means that the state of all of a project's contained features will remain intact.  If a project has not been designed with repeated invocation in mind, this can cause unexpected behaviour upon subsequent invocation.  If you want a target project to behave as it would if it was repeatedly loaded, invoked and unloaded then you may need to design it to initialise or reset itself.
 
For example, consider a project that increments a counter periodically during an invocation.  If the counter is not reset at any time then its value is cached and the next invocation will make use of this cached value.  This may, of course, be the desired behaviour but often it is not.  Be mindful of project state when you design projects for use with the Absyntax Excel Add-in.
 

Multiple Rules, Same Project Path

 
It is possible for multiple project invocation rules to target the same Absyntax project.  Note that each such rule, when invoked for the first time, will result in a separate instance of the project being loaded.  In other words, project instances are not shared between rules.  In turn, this means that instances of the same project may have different states.