Gambas Documentation - /comp/gb/application

# Application (gb)

This class gives information about the currently running application, and grants access to the process environment and process command line.

This class is static.

Static properties

Returns an array containing the arguments passed to the program by the shell.
Args
Set this property to TRUE to make the current application a daemon.
Daemon
Returns the application directory.
Dir
Returns a virtual collection of strings containing the process environment variables.
Env
Returns the system pid (process identifier) of your program. This returns the same value as the property named Id.
Handle
Returns the system pid (process identifier) of your program. This returns the same value as the property named Handle.
Id
Return the application name, as defined in the IDE project properties dialog.
Name
Returns the application path, i.e. the directory where it resides.
Path
Return or set the current process priority.
Priority
Return the startup class object.
Startup
Returns the title of the application being executed.
Title
Returns the program version, as defined in the IDE project properties dialog.
Version

### Example

Imagine you start a new project in Gambas, you call this project "MyApplication", the comments are "This is the title of MyApplication", you save it at `/home/user/gambas/MyApplication`, and you are writing the first version, that is, 0.0.1.

If you type... | You get... | Notes
--- | --- | ---
`PRINT "Directory: ";` `Application.Dir` | `Directory: /usr/bin` | The current process directory, as returned by the `getcwd()` system function.
`PRINT "Environment: ";` `Application.Env.Count;` `" variables"` | `Environment: 77 variables` |
`PRINT "Application handle: ";` `Application.Handle` | `Application handle: 8792` | The process handle (or process id) is different at each execution.
`PRINT "Application Id: ";` `Application.Id` | `Application Id: 8792` | This property is a synonymous of the previous one.
`PRINT "Name: ";` `Application.Name` | `Name: MyApplication` | This is the name of the application, i.e. the name of its source directory.
`PRINT "Path: ";` `Application.Path` | `Path: /home/username/gambas/MyApplication` | The directory where the application runs.
`PRINT "Returned value: ";` `Application.Return` | `0` | This is the value that will be returned by your application to the operating system at exit.
`PRINT "Title: ";` `Application.Title` | `Title: This is the title of MyApplication` | The title of your application, as defined in the project property dialog.
`PRINT "Current app. version: ";` `Application.Version` | `Current app. version: 0.0.1` | The application version, as defined in the project property dialog.

## Special global event handlers

These event handlers must be defined in the startup class as static methods to be taken into account by the interpreter.

`Application_Read` | Catches data sent to the standard input. If that static method is defined in the project startup class, then the standard input is watched by the interpreter, and the method is called each time there is something to read on the standard input.
`Application_Error` | This handler is called when an error is raised that is not handled by any CATCH, TRY or FINALLY instruction. Since 3.5