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