| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version | ||||||||
This document contains the following sections:
1.0 The *system* variable
The goal for Common Graphics and the Development Environment is to
have a single global variable called *system*. The value of this global
variable is an instance of the
devel::development-system class when you are
running the IDE, and an instance of the system class in a delivered
application.
All slots and other global information, are added as properties of
*system*. That way, you can assess
and change anything about the global state using the inspector.
An instance of the system class is a hierarchical
object. Stored in a slot of a system instance is a configuration object,
which is used to store all options that will be saved and restored in
the preferences file (prefs.cl). Not
all configuration options are displayed in the Options dialog
(displayed by choosing Options from the Tools menu) but the commonly used ones do.
Like the system and
devel::development-system classes, there are
configuration
and devel::development-configuration classes. The
configuration
class is used for Common Graphics and some Common Lisp configuration
options. The devel::development-configuration is
used for the Development Environment configuration options.
All slots and configuration information should also be properties of
the configuration class so that you can
assess and change them using the inspector. Only properties are saved
to the preferences file prefs.cl.
The app slot
of the system object holds an instance of the app class. An app object holds
Windows application information such as current program, command line
options, hinst,
wndow-proc-address, etc. This object is analogous
to the app object offered by Visual Basic.
To start Common Graphics or the Development Environment, run the function start-ide. System start up is described in About IDE startup in cgide.htm.
Exiting the system in the development environment only -- i.e when running the IDE -- each item in (exit-tests *system*), which is a list
of functions (see exit-tests), is funcalled. The exit
is aborted if any of the functions returns false.
After a dumplisp, the
*system*
variable remains bound. That way, the global state and the
configuration are saved in the new dxl. When the
system is started after a dumplisp,
cg::reinitialize-system is called to clean up the
values stored in *system*.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version | ||||||||