Defining an executable application project

The Project painter for executable applications allows you to streamline the generation of executable files and dynamic libraries. When you build a project object, you specify the following components of your application:

If you do not use the Template Application Target wizard to create a new application project, you need to define the project using a Project wizard or by setting project properties in the Project painter. After you have created a project, you might need to update it later because your library list has changed or you want to change your compilation options.

StepsTo define or modify an executable application project:

  1. Select the Application project icon on the Project tab in the New dialog box to create a new application project, or select File>Open to open an existing application project.

    The Project painter workspace displays.

    Shown is the Project painter work space.
  2. Specify or modify options as needed.

    If you opened an existing project or a project created using the wizard, the options already selected display in the workspace. For information about each option, see “Executable application project options”.

  3. When you have finished defining the project object, save the object by selecting File>Save from the menu bar.

    PowerBuilder saves the project as an independent object in the specified library. Like other objects, projects are displayed in the System Tree and the Library painter.

Executable application project options

Table 34-2 describes each of the options you can specify in the Project painter for executable applications. You can also specify most of these options in the Application Project wizard.

Table 34-2: Options for executable application projects

Option

What you specify

Executable file name

Specify a name for the executable. The name must have the extension EXE. If you do not want the executable saved to your current directory, click the Browse (...) button next to the box to navigate to a different directory.

Resource file name

(Optional) Specify a PowerBuilder resource file (PBR) for your executable if you dynamically reference resources (such as bitmaps and icons) in your scripts and you want the resources included in the executable file instead of having to distribute the resources separately.

You can type the name of a resource file in the box or click the button next to the box to browse your directories for the resource file you want to include.

For more about PBRs, see “Distributing resources”.

Prompt for overwrite

Select this if you want PowerBuilder to prompt you before overwriting files. PowerBuilder overwrites any files it creates when building your application.

Windows classic style

Select this to add a manifest file to the application that specifies the appearance of the controls as an application resource. When a user runs the application on Windows XP with the Windows XP style for controls set in the control panel, all PowerBuilder windows, DataWindow controls that mirror standard Windows controls, and other controls, display with the new style.

Rebuild

Specify either Full or Incremental to indicate whether you want PowerBuilder to regenerate all objects in the application libraries before it creates the executable and dynamic libraries. If you choose Incremental, PowerBuilder regenerates only objects that have changed, and objects that reference any objects that have changed, since the last time you built your application.

As a precaution, regenerate all objects before rebuilding your project.

Machine Code

Select this if you want to generate compiled code instead of Pcode. For more information about compiled code and Pcode, see Application Techniques.

Selecting Machine Code enables the other code generation options in the Project painter. They cannot be set in the wizard.

Trace Information

Select this if you want to create a trace file when you run your compiled code executable. You can use the trace file to troubleshoot or profile your application. For more information on obtaining trace information, see “Tracing execution”.

Error Context Information

Select this if you want PowerBuilder to display context information (such as object, event, and script line number) for runtime errors.

Optimization

Select an optimization level. You can build your application with no optimizations, or you can optimize for speed or space.

Enable DEBUG symbol

Select to enable any code that you placed in DEBUG conditional code blocks. For more information, see “Using the DEBUG preprocessor symbol”.

Libraries page

The label for the PBD or DLL check box depends on whether you are building a Pcode or machine code executable. Select the check box to define a library as a dynamic library to be distributed with your application.

If you are generating Pcode, you create PBD files. If you are generating machine code, you create DLL files. For more about dynamic libraries, see “Using dynamic libraries”.

Specify a resource file for a dynamic library if it uses resources (such as bitmaps and icons) and you want the resources included in the dynamic library instead of having to distribute the resources separately. The file name cannot be specified in the wizard.

Version page

Specify your own values for the Product Name, Company Name, Description, Copyright, Product Version, and File Version fields associated with the executable file and with machine-code DLLs. These values become part of the Version resource associated with the executable file, and most of them display on the Version tab page of the Properties dialog box for the file in Windows Explorer. The Product and File version string fields can have any format.

The Product and File version numeric fields in the “Executable version used by installer” group box are used by Microsoft Installer to determine whether a file needs to be updated when a product is installed.

The four numbers can be used to represent the major version, minor version, point release, and build number of your product. They must all be present. If your file versioning system does not use all these components, you can replace the unused numbers with zeroes. The maximum value for any of the numbers is 65535.

Security page

Use the Security tab page to generate a manifest file (either external or embedded) and to set the execution level of the application.To meet the certification requirements of the Windows Vista Logo program the application executable must have an embedded manifest that defines the execution level and specifies whether access to the user interface of another window is required.

For further information, see “Attaching or embedding manifest files”.

Run page

Specify command-line arguments and the application’s working directory. The Application field displays the name and location of the executable file and is not editable. You can change these properties on the General page.

Location of temporary files

The machine code generation process puts temporary files in a temporary directory, such as the TEMP directory. You can specify a different location in the [PB] section of your PowerBuilder initialization file with the CODEGENTEMP variable. You might want to do this if you have limited space on your local system.

For example:

CODEGENTEMP=e:\pbtempdir