Function | Package: ide | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version

## open-project

Arguments: pathname-or-namestring &key action

This function opens a project (identified by the arguments) for further development in the IDE. The project becomes the current project (as returned by current-project). This function returns the project that was opened, unless no project is opened for some reason (such as failure to specify an existing project definition file), in which case `nil` is returned. If the project is opened successfully, then the function current-project will continue to return the project until another opened project (or a new project) takes its place. (Therefore, if this function fails to open a project, the previously open project remains the current project.)

Projects are typically opened interactively by using the File | Open Project command (which calls this function), but it may be useful to call this function directly (for example) in the startup.cl file, perhaps as part of code that conditionally decides which project to initially open in the IDE. (startup.cl is loaded during IDE startup. See About IDE startup in cgide.htm.)

When calling open-project programmatically, it's probably best to do so inside a call to eval-in-listener-thread as follows. This will ensure that the code runs in the IDE GUI process, just as when using the menu command, so that form windows and the project manager will get created in that process as usual. See eval-in-listener-thread for more information.

    (ide:eval-in-listener-thread
      '(ide.project:open-project "c:/path/project1.lpr")
      :listener :gui)

To simply run an existing project in the IDE without further developing it, or to load it before calling build-project, call load-project instead. There should be no need to call load-project and build-project specifically in the IDE GUI process.

### Arguments

pathname-or-namestring may be either a pathname or string naming a .lpr project definition file that was automatically created by saving a project in the IDE. It may alternately be `nil`, in which case the file-selection Common Dialog is invoked to prompt for the .lpr file to open.

action may be any one of the following values:

- `nil` (the default): the current open-project-action configuration option is used. (This option is found in the Open group box on the Project tab of the Options dialog.)
- :full-compile: all of the source code files of the project are compiled, and all of the resulting fasl files are loaded.
- :compile: all of the source code files for which there is not a corresponding newer fasl file are compiled, and then all of the fasl files are loaded.
- :no-compile: no files are compiled or loaded; this option may be desired if the project will not successfully load due to having errors or being in an intermediate inconsistent state.

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version