Auto-loading Applications in ARES Commander

Auto, Lisp, Start, Customization, startup.lsp, Loading

Christian Kramer avatar
Written by Christian Kramer
Updated over a week ago

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.

Notes:

  • 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.

Did this answer your question?