ARES Commander has 4 possibilities to load an application file:
In the order of loading:
1. Start.lsp (must be located in the /support-folder). The autoloaded start.lsp file was before ARES Commander 2015 SP2 named startup.lsp.
Now it loads and defines some ARES utilities. The former startup.lsp is loaded via a load-call from inside of the start.lsp, if it is found also in one of the support-search folders.
2. Addins added to the beginning of the Profile.xml in the AppData-User folder. The simplest way for users to add their LISP-Files is, via the _OPTIONS Dialog and Add-Ins.
3. Startup.rx --> Loads tx/DRX files (must be located into the support folder)
4. mnl-Lisp files with the same name and location as a loaded menu XML-file. (E.g. Application.xml and Application.mnl in the UI\english-folder). If you have you own partial menu file, then is this the recommended solution.
Note: The startup.rx is already used in some cases by other applications. You should add your autoload file name line to the end of the existing files (e.g. Start.lsp) - Keep in mind that the next ARES update might overwrite your changes.
For Advanced Users with LISP-Know-How:
I recommend for users to add several entries to the startup.lsp file like shown below. We have a LISP-autoloading function in the main.lsp-file.
(autoload "LSPFILE" '("cmd1" "cmd2" ... "cmdn"))
Please note that there are 2 versions of these file. One base version under the "Program Files" folder:
c:\Program Files\Graebert GmbH\ARES Commander 202X\Default Files\Support\startup.lsp
and the copied user configuration version under:
c:\Users\[current user]\AppData\Roaming\ARES Commander Edition x64\20.X.XXXX\Support\startup.lsp
I would add your autoloading entries to the user configuration version of startup.lsp and save a copy somewhere else to avoid overwriting during updates.
For your lisp routine MyLisp.lsp with the defined command C:MYLSPCommand would be the entry in the startup.lsp:
(autoload "MyLisp.lsp" '("MYLSPCommand"))
Here you can add for each lisp file and its commands in a single line. If your "MyLisp.lsp includes a second command named C:MYLSPCommand2 then you add it to the entry like:
(autoload "MyLisp.lsp" '("MYLSPCommand" "MYLSPCommand2"))
The LISP-load mechanism is an autoload on demand mechanism.
- The startup.lsp is shipped with each new service pack of ARES Commander. Please save a copy so that it can't be overwritten.
- The same autoload mechanism exists for FDT-application files.
(autoxload "FDTDLL" '("cmd1" "cmd2" ... "cmdn"))
- Note that the LSPFILE and the FDTDLL must have extension ".LSP" resp. ".DLL.
- The C: prefix of the command definition must be removed in the autoload and autoxload expressions.