Writing application-level scripts

When a user runs an application, an Open event is triggered in the Application object. The script you write for the Open event initiates the activity in the application. Typically it sets up the environment and opens the initial window.

When a user ends an application, a Close event is triggered in the Application object. The script you write for the Close event usually does all the cleanup required, such as closing a database or writing a preferences file.

If there are serious errors during execution, a SystemError event is triggered in the Application object.

Batch applications

If your application performs only batch processing, all processing takes place in the script for the application Open event.

The following table lists all events that can occur in the Application object. The only event that requires a script is Open.


Occurs when


The user starts the application.


The user closes the application. Typically, you write a script for this event that shuts everything down (such as closing the database connection).


A serious error occurs at runtime (such as trying to open a nonexistent window). If there is no script for this event, PowerBuilder displays a message box with the PowerBuilder error number and message text. If there is a script, PowerBuilder executes the script.

For more about error handling, see Handling errors at runtime.


The Idle PowerScript function has been called and the specified number of seconds has elapsed with no mouse or keyboard activity.

Setting application properties in scripts

The Application object has several properties that specify application-level properties. For example, the property ToolbarText specifies whether text displays on toolbars in an MDI application.

You can reference these properties in any script in the application using this syntax:


For example, to specify that text displays on toolbars in the Test application, code this in a script:

Test.ToolbarText = TRUE

If the script is in the Application object itself, you do not need to qualify the property name with the application name.

Application name cannot be changed

The name of an application is one of the Application object's properties, but you cannot change it.

For a complete list of the properties of the Application object, see the section called “Application object” in Objects and Controls.