ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Editors / Project editor
  • Overview
  • How to?
  • Creating a configuration
  • Working on a project configuration
  • Generate a project configuration
  • Add an element into a project configuration
  • Exclude an element from a project configuration
  • Duplicate a project configuration
  • Deleting a project configuration
  • Characteristics of a project configuration
  • Options in the "General" tab
  • Tips
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
The project configurations are used to define the different types of generations supported by the project: 32-bit executable, 64-bit executable, web service, component, etc.
The project elements can be:
  • common to several configurations (a window used in a 32-bit executable and in a 64-bit executable for example).
  • specific to a configuration (a class used by a component for example).
You can work on a specific configuration at any time: the elements that do not belong to this configuration appear grayed out in the "Project explorer" pane.
This help page presents the following topics:
How to?

Creating a configuration

By default, a single configuration is created in the project. This configuration is named like the project and it contains all project elements.
To create a new configuration:
  1. On the "Project" tab, in the "Project configuration" group, expand "New configuration" and select "New configuration (via wizard)".
    Remarks:
    • You can also select the platform of the project configuration to be created by expanding "New configuration".
    • You can also select "New configuration" in the context menu of the "Project explorer" pane.
      Project explorer
  2. The project configuration creation wizard starts. Specify:
    • the configuration name.
      Caution: If the project contains several project configurations, this name will also correspond to the name of directory where the files of the project configuration will be generated.
    • its description.
    • the type of generation: Executable, Java, Library, Component, Webservice, .Net assembly, .Net executable, ...
      Remark: This characteristic is not requested if the platform was selected during the creation.
  3. According to the type of generation chosen for the project configuration, it is possible to specify additional options:
    • Multi-product compatibility options: The element will be generated for a specific type of project or for all products (WINDEV, WEBDEV and WINDEV Mobile). The compilation errors can be enabled (or not) for the 64-bit or Linux compatibility.
    • Operating system and platform.
  4. Specify (if necessary) the project elements that must be included in the project configuration currently created (windows, reports, queries, ...). If your project uses components, you can also select the components included in the configuration.
  5. Validate the configuration creation. This project configuration is automatically selected. This configuration can be modified:
    • from the project configuration management window: on the "Project" tab, in the "Project configuration" group, click "Manage configurations". Simply select the desired configuration and click "Description".
    • via "Description" in the context menu of the project configuration in the "Project explorer" pane.
Project explorer
Directory of project configurations:
By default, when a project configuration is created, the files of this configuration are generated in a subdirectory of the project's EXE directory. This allows you to easily find the files generated by a configuration.
If the project already had multiple configurations, when creating a project configuration, a step of the wizard allows you to generate the configuration files:
  • in the EXE directory of the project (option kept for backward compatibility).
  • in a subdirectory by configuration (created in the project's EXE directory). In this case, a directory is created for each one of the configurations that exists in the project. The name of this directory corresponds to the name of the project configuration.
Remarks:
  • In the "Options" tab of the project description window, "Generate all the configurations in the "Exe" directory (not recommended if several configurations)" is used to restore the operating mode of earlier versions.
  • In GO mode, the files used are the files found in the configuration directory (INI files, data files, ...).
  • When a project configuration is first created, the entire contents of the EXE directory are copied to the subdirectories of the project configuration. You may have to delete the files not affected by the current configuration (for example, EXE file not required in the directory of a component configuration).
  • You also have the ability to create a project configuration from an existing configuration. To do so, perform a duplication of configuration.

Working on a project configuration

The working configuration is selected:
  • via the "Project explorer" pane: simply double-click the desired configuration or select "Enable this configuration" in the context menu.
    Project explorer
  • via the project configuration management window: on the "Project" tab, in the "Project configuration" group, click "Manage configurations". Simply check the current configuration and validate the window.
The entire project corresponds to the configuration named like the project.
When working on a specific configuration:
  • In the "Project explorer" pane, the icon next to the name of an unused element in the current configuration is grayed out.
  • A first window or a first page can be defined for each project configuration.
  • You can set the user groupware options for each project configuration.
  • When generating the elements of a configuration, only the elements defined in the configuration are taken into account.
  • In the quick access buttons, the generation icon automatically adapts to the type of configuration used (creation of an executable, creation of a JAVA archive, ...).

Generate a project configuration

To generate the result of a project configuration:
  1. Open the project configuration management window: on the "Project" tab, in the "Project configuration" group, click "Manage configurations".
  2. Select the project configuration to generate.
  3. Click the "Generate" button.
To generate the result of all project configurations, use the multiple generation. For more details, see Generating project configurations.

Add an element into a project configuration

To add an element into a configuration:
  1. In the "Project explorer" pane, select the element to add (window, report, ...).
  2. Right-click to open the context menu and select "Configurations".
    In the menu that appears:
    • the checked configurations are those that are associated with the element.
    • the unchecked configurations are those that are not associated with the element.
    • "All" associates the element with all the configurations.
    • "None" dissociates the element from a configuration.
    • "Multiple" allows you to choose the configurations you want to associate the element with.
  3. Select the unchecked configuration into which the element will be added.
Remark: When saving a new element, the following window appears:
Save element
This window is used to specify the configuration into which the current element will be added.
To make this window appear automatically each time a new item is saved, check "Ask for the location of the new elements in the project" in the "Options" tab of the project description.

Exclude an element from a project configuration

To exclude an element from a configuration:
  1. In the "Project explorer" pane, select the element to exclude (window, report, ...).
  2. Right-click to open the context menu and select "Configurations". In the menu that is displayed:
    • the checked configurations are those that are associated with the element.
    • the unchecked configurations are those that are not associated with the element.
  3. Select the checked configuration for which the element will be excluded.
Remark: The elements excluded from a project configuration are not compiled for this project configuration. The element code is grayed.
In the non-compiled code:
  • no assisted code input is available.
  • no cross-reference is available: no Shift+F2, the uses of elements are not displayed, the elements can appear in the list of orphan elements and dead code.
  • there is no code analysis: no smart renaming.
  • there is no compilation error: if the prototype of a procedure is modified, the error will be displayed when using a configuration that allows the code compilation.

Duplicate a project configuration

Project configurations can be duplicated:
  • from the "Project explorer" pane.
  • from the configuration management window.
To duplicate a project configuration from the "Project explorer" pane:
  1. Select the project configuration to duplicate.
  2. Open the context menu of the description and select "Duplicate".
    Project explorer
  3. The new project configuration appears in the "Project explorer" pane.
  4. Modify (if necessary) the new project configuration:
    • In the "Project explorer" pane, open the context menu and select "Description".
    • Go to the "General" tab and edit the following details for the duplicated configuration: name, type of generation and generation directory.
To duplicate a configuration from the project configuration management window:
  1. Open the project configuration management window: on the "Project" tab, in the "Project configuration" group, click "Manage configurations".
  2. Select the project configuration to duplicate.
  3. Click "Duplicate".
  4. Modify (if necessary) the new project configuration:
    • Click the "Description" button.
    • Go to the "General" tab and edit the following details for the duplicated configuration: name, type of generation and generation directory.
Remarks:
  • The duplicated configuration and the source configuration contain the same elements. This allows you to easily create an iOS configuration in an Android project.
  • The name of generated element must be modified if necessary in the corresponding generation wizard.

Deleting a project configuration

To delete a configuration:
  1. Select the desired configuration in the "Project explorer" pane.
  2. Select "Delete" from the menu of the "Project explorer" pane.
Remarks:
  • The configuration elements will be stored in the project (windows, reports, ...).
  • The generated elements (executable, service, component, ...) will not be deleted from disk.

Characteristics of a project configuration

To modify a project configuration, go to the "Project" tab, "Project configuration" group and click "Manage configurations".
The window for managing the configurations allows you to describe:
  • a command line for testing the project configuration: "Test mode" button.
  • the action to perform before generating the project configuration: "Action before generation" button. Simply specify the action to perform at the time of generation.
  • the action to perform after generating the project configuration: "Action after generation" button. Simply specify the action to perform after the generation.
The "Description" button opens the configuration description window. This window includes several tabs:
  • "General" tab, which contains general information of the configuration. For more details, see Options in the "General" tab.
  • "Elements" tab, which contains the list of elements in the configuration.
    WINDEVAndroidiPhone/iPad This tab also allows you to identify and configure the opening and/or closing animations of windows in the configuration via "Animations of windows". For more details, see Window animation.
  • "Components" tab, which displays all the external components used by the project configuration.
  • "Compatibility" tab, which lists the compatibility options of the project configuration. These options affect: ** cross-platform options: You can:
    • Enable or disable compilation errors for 64-bit or Linux compatibility.
    • WEBDEV - Server code Display errors related to pre-launched sessions.
    • the cross-platform options of a "Component" configuration.
  • WINDEVWEBDEV - Server codeAndroid "Unicode" tab, which allows you to define whether UNICODE or ANSI strings are used at runtime.
  • WINDEVAndroidiPhone/iPad "Telemetry" tab, which is used to enable the telemetry for the current configuration and specify the necessary parameters. For more details, see Enabling the telemetry.
  • WEBDEV - Server code "GPU " tab, to enable or disable the User Groupware for the current configuration.
  • WINDEVAndroidiPhone/iPad "GPU / Private Store" tab, which allows you to enable or disable the User Groupware and/or the deployment to the Private Store for the current configuration.

Options in the "General" tab

The "General" tab includes the following options:
  • the general information: the name and description of the configuration.
  • the generation information:
    • the type of generation.
    • the project configuration generation directory if the project contains several configurations.
    • the actions to be performed before and after generating the project configuration.
    • Android the actions to be performed before generating the application via Gradle.
  • the first windows or first pages.
    • WINDEV the first project window: Allows you to select the first window that will be displayed when starting the project (or the associated executable).
      The [...] button is used to preview all project windows for fast selection.
      For more details, see First project window.
    • WINDEV Mobile the first window for phones: Allows you to select the first window that will be displayed when the application is opened on a phone.
      The [...] button is used to preview all project windows for fast selection.
      For more details, see First project window.
    • WINDEV Mobile the first window for tablets: Allows you to select the first window that will be displayed when the application is opened on a tablet.
      The [...] button is used to preview all project windows for fast selection.
      For more details, see First project window.
    • WEBDEV - Server code the home page: Used to select the site home page.
      The [...] button is used to preview all project pages for fast selection.
      For more details, see The home page.
    • WEBDEV - Server code the first dynamic page: Used to select the first dynamic page of the project.
      The [...] button is used to preview all dynamic project pages for fast selection.
      For more details, see First dynamic project page.
    • WEBDEV - Server code the error page: Allows you to select the page used to display the site errors.
      The [...] button is used to preview all static project pages for fast selection.
      For more details, see A specific page to display the errors.
  • the executable characteristics.
    • The "Encryptable executable (Library loaded by standard APIs)" option makes generated executables compatible with encryption and compression tools (UPX, HASP envelope, etc.).
    • "Disable the prevention of data execution (/NXCOMPAT:NO option) (Allows you to use of external modules that do not support the last security standard)" is used to manage the "NX" compilation option (No eXecute).
      • The 32-bit executables and DLLs for Windows are now compiled with the "NX" option (No eXecute). This option is commended to improve security. It must necessarily be used in order for an application to be certified by Microsoft for example. An application compiled without this option can allow its author to execute a code placed at a specific location in memory. This technique, already used by malevolent applications, is not allowed anymore.
      • The option "Disable the prevention from running data (/NXCOMPAT:NO option)" is used to compile without the "NX" option. This may be required when the executable uses an external DLL (ActiveX, ODBC driver for accessing a database, etc.), that has no NX flag and that runs code in memory via what could be a security breach. If the main application is compiled with the NX option, it will be stopped by Windows in general protection fault (GPF).
      • Remarks:
        • We advise you to solicit the DLL publisher in order to get a refreshed version of DLL with the NX flag.
        • We advise you to foresee in the medium term an alternative to the use of DLL. With the ever-increasing security of systems, it is quite likely that executables without the NX option may no longer be run in the near future.
    • "Executable with windows" and "Console executable" are used to specify whether or not the executable corresponding to the current project configuration should display windows. In the latter case, it could be a Batch executable executed in command line mode, for example.
  • Android Android-specific options:
    • Apply Material design theme to native controls and to Info/Error/Dialog windows: If this option is checked, the Material Design theme is applied by default to all native controls. If this option is not checked, the holographic theme is used by default.
    • Positioning of captions compatible 22: From version 23, the display of window editor becomes even more WYSIWYG: the padding specified in the fonts is now taken into account. The option "Positioning of captions compatible with version 22" restores the appearance of version 22 (for projects created in earlier versions, for example).
    • Device management application (can become "device owner" for the kiosk mode): This option supports the full kiosk mode. For more details, see Application in kiosk mode.
    • Action bar height: This option allows you to set the height of the Action Bar control in the different windows. Until version 25, the height of Action Bar controls is 48 px by default. Starting with new projects in version 26, the height of the Action Bar control is 56 px by default. This option allows you to change the height of the Action Bar control in existing projects.
      Remark: If the height is changed, the new height is applied to all windows in the application.
For the actions before and after generation, the following operations must be performed:
  1. Type the command script to run. You can type:
    • the executable path: type the path in the control or use the "Browse..." button.
    • macros: click the "Macro" button and double-click the macro that will be added to your command line. For example, "Name of Current Project" {$ProjectName} will be replaced with the name of your project being edited. A specific macro is used to run an option of a CustomMenu.
  2. Select the runtime options of the command line:
    • Display the console: a console (command prompt) will be displayed.
    • Leave the console opened: if a console is displayed, it will remain opened until the end of execution of the program.
    • Non-locking execution: the execution of the command line will not lock the access to WINDEV, WEBDEV or WINDEV Mobile.
  3. Select the runtime directory of program.
  4. Validate

Tips

  • To know which project configuration is being used, simply use ProjectInfo with the piConfiguration constant.
  • To activate a project configuration from the "Project explorer" pane, simply double-click on the name of the desired configuration. To open the description window of the selected configuration, select "Description" in the context menu.
  • To directly open the generation directory of a configuration:
    • Select "Open generation directory" in the context menu of the project configuration.
    • On the "Home" tab, in the "General" group, expand and select "Browse generation directory".
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/01/2023

Send a report | Local help