Thank you for your enquiry.
The Formativ language is based on VBScript which is a scripting language, not a full-blown programming language with support for multiple code modules. This is an unfortunate limitation for large or complex multi-applet solutions.
Here are the suggested workarounds to the problem:
- Manually copy common code and forms into every applet that requires the code. (Use the Export and Import buttons on the Forms dialog in the Formativ IDE to copy forms between applets.) This is not ideal because an update to one copy will not flow on automatically to all copies. You will need to ensure that updates like this are copied manually to all applets that use the code/forms.
- Write an applet to automatically update applet (VBF) files which use common code. It may be necessary to put special ‘delimiter’ comments before and after the common code, eg:
' [BEGIN_COMMON WAIT_UI] 'Implementation of WAIT_UI common code here... ' [END_COMMON WAIT_UI]
- It would be nontrivial to add a ‘callback’ or ‘return’ feature to Formativ, and we do not plan to do so at this time. However, it may be possible to approximate this behavior in multiple chained applets. For example, suppose you have an applet C which implements common functionality. Some applet A would need to pass all relevant data to applet C so that C executes the required class/method(s) and can identify A. After processing, C would pass its results to A, as well as state information that A can use to restore its previous state.
I think this option will not be trivial to implement.
I hope this helps.