PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Compilation tab
  • General options
  • GUI errors
  • Multi-configuration compilation
  • Programming standard
  • Compilation of unknown identifiers
  • Compilation options
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
The description window of project is used to configure several elements of your project. This window includes the following tabs:
  • The "Project" tab that is used to type the main project information
  • The "Analysis" tab that is used to associate an analysis with the project and/or with a UML model
  • The "Files" tab that is used to type information about the data files managed by the application (only if the project is linked to an analysis).
  • The "Live data" tab that is used to configure the display of data (coming from the data files) in the different editors.
  • The "Languages" tab that is used to configure the different languages handled by the project as well as the linguistic options that will be used for each language.
  • The "Style" tab that is used to choose the theme of skin template and the custom style sheet, and to customize the print preview. You also have the ability to configure the size of screens.
  • The "Group" tab that is used to manage the teamwork (developer groupware or SCM).
  • The "Options" tab that is used to configure the options for updating, saving and synchronizing the templates. This tab is also used to enable the strict mode and to define the programming charter.
  • The "Advanced" tab that is used to manage the use of "Reports & Queries", the AAFs and the application lock.
  • The "Compilation" tab that is used to configure the compilation options.
  • Versions 22 and later
    The "Telemetry" tab that is used to configure the telemetry options for the project.
    WEBDEV - Server code This option is not available.
    New in version 22
    The "Telemetry" tab that is used to configure the telemetry options for the project.
    WEBDEV - Server code This option is not available.
    The "Telemetry" tab that is used to configure the telemetry options for the project.
    WEBDEV - Server code This option is not available.
Compilation tab

General options

The general options are as follows:
  • Compilation directory: The directory of compiled code is created in a "<Project_Name>.cpl" sub-directory of compilation directory. This directory of compiled codes contains:
    • The files of compiled codes for each project element: windows, reports, queries, etc.
    • A sub-directory for each developer taking part in the project. This directory corresponds to the developer name. See Sharing the project development for more details.
      By default, the compilation directory corresponds to the project directory. All your projects can be compiled in the same directory: to do so, specify the same compilation directory for all your projects.
  • Recompile the project before generating the applications, libraries, ...:
    This option is used to force the project recompilation before each major operation on the project. This option is recommended during the multiple generation from a project.
    This option is also proposed in all the wizards used to perform a deployment operation (executable creation, library creation, multiple generation, ...).
  • WEBDEV - Server code Display the compilation errors specific to Linux system: Used to specify that the project will be deployed in Linux. The compilation errors specific to a use in Linux are displayed.
  • Versions 20 and later
    WEBDEV - Server code Display the compilation errors specific to cached sessions: If your project is using the cached sessions, some functions can no longer be used when initializing the project. This option is used to identify the possible problems when using cached sessions. See The cached sessions for more details.
    New in version 20
    WEBDEV - Server code Display the compilation errors specific to cached sessions: If your project is using the cached sessions, some functions can no longer be used when initializing the project. This option is used to identify the possible problems when using cached sessions. See The cached sessions for more details.
    WEBDEV - Server code Display the compilation errors specific to cached sessions: If your project is using the cached sessions, some functions can no longer be used when initializing the project. This option is used to identify the possible problems when using cached sessions. See The cached sessions for more details.
  • Recompiling the project in order to synchronize the GUI and the code:
    A recompilation is often required in order for the interface to be consistent with the code, for example when the name of an element was modified, the code of an element was modified, ... You can:
    • always propose to recompilation: a message is displayed, asking the developer whether the compilation must be performed. The compilation can be delayed in order to be performed later.
    • always perform the compilation without asking. If this option is checked, the recompilation may provoke slowdowns.
  • Versions 22 and later
    WEBDEV - Server code WLanguage browser: Allows you to choose the browser framework used for the project. From version 22, WEBDEV proposes a new WLanguage framework for the browser code. This new version proposes a behavior close to server code and it completes the features of browser code.
    Important: to use the new WLanguage framework, the generation standard of pages must be defined in "HTML 5".
    New in version 22
    WEBDEV - Server code WLanguage browser: Allows you to choose the browser framework used for the project. From version 22, WEBDEV proposes a new WLanguage framework for the browser code. This new version proposes a behavior close to server code and it completes the features of browser code.
    Important: to use the new WLanguage framework, the generation standard of pages must be defined in "HTML 5".
    WEBDEV - Server code WLanguage browser: Allows you to choose the browser framework used for the project. From version 22, WEBDEV proposes a new WLanguage framework for the browser code. This new version proposes a behavior close to server code and it completes the features of browser code.
    Important: to use the new WLanguage framework, the generation standard of pages must be defined in "HTML 5".

GUI errors

The GUI compilation errors indicate the possible problems detected in your interfaces whenever saving a window, a page or a report or whenever recompiling the project.
By default, the GUI compilation errors are enabled for each new created project.
Versions 22 and later
The "Edit the languages" button is used to choose the project languages that will be taken into account by the GUI compilation.
New in version 22
The "Edit the languages" button is used to choose the project languages that will be taken into account by the GUI compilation.
The "Edit the languages" button is used to choose the project languages that will be taken into account by the GUI compilation.
See GUI compilation errors for more details.
Versions 22 and later

Multi-configuration compilation

If the option "Enable the multi-configuration compilation" is checked, all project configurations will be systematically compiled.
Therefore, the possible compilation errors in a given configuration appear immediately.
This option is very useful for a WINDEV Mobile project available in Android and iPhone/iPad for example.
Reminder: the project is compiled at each line break in the code editor, at each backup (CTRL + S), ...
New in version 22

Multi-configuration compilation

If the option "Enable the multi-configuration compilation" is checked, all project configurations will be systematically compiled.
Therefore, the possible compilation errors in a given configuration appear immediately.
This option is very useful for a WINDEV Mobile project available in Android and iPhone/iPad for example.
Reminder: the project is compiled at each line break in the code editor, at each backup (CTRL + S), ...

Multi-configuration compilation

If the option "Enable the multi-configuration compilation" is checked, all project configurations will be systematically compiled.
Therefore, the possible compilation errors in a given configuration appear immediately.
This option is very useful for a WINDEV Mobile project available in Android and iPhone/iPad for example.
Reminder: the project is compiled at each line break in the code editor, at each backup (CTRL + S), ...
Versions 23 and later

Programming standard

These options are used to define a programming standard. The programming standard "errors" signal the code lines that do not respect this standard. These errors are displayed in the "Compilation errors" pane.
The available options are as follows:
  • Signal the WLanguage functions kept for compatibility: If this option is checked, the WLanguage functions kept for backward compatibility are indicated in the programming standard errors (TreeSort_55 for example).
    Reminder: The functions kept for backward compatibility may not be supported anymore in a forthcoming version. We recommend that you use the corresponding new function.
  • Signal the accesses to HFSQL from the windows, pages and reports: If this option is checked, all accesses to HFSQL data files are signaled in the programming standard errors.
    This option is used to quickly isolate the accesses to the database. Indeed, in some programming architectures, the accesses to the database must not be performed from the interface. These accesses must be performed in the business code from procedures or classes.
  • Signal the uses of object syntax ("ListControl.Add" for example): If this option is checked, all uses of WLanguage object syntax, available from version 23, will be signaled in the programming standard errors. This allows you to easily find the uses of this syntax if it is not allowed in the project.
These options can be overloaded for the internal components, windows and reports. See "Programming standard errors" for more details.
New in version 23

Programming standard

These options are used to define a programming standard. The programming standard "errors" signal the code lines that do not respect this standard. These errors are displayed in the "Compilation errors" pane.
The available options are as follows:
  • Signal the WLanguage functions kept for compatibility: If this option is checked, the WLanguage functions kept for backward compatibility are indicated in the programming standard errors (TreeSort_55 for example).
    Reminder: The functions kept for backward compatibility may not be supported anymore in a forthcoming version. We recommend that you use the corresponding new function.
  • Signal the accesses to HFSQL from the windows, pages and reports: If this option is checked, all accesses to HFSQL data files are signaled in the programming standard errors.
    This option is used to quickly isolate the accesses to the database. Indeed, in some programming architectures, the accesses to the database must not be performed from the interface. These accesses must be performed in the business code from procedures or classes.
  • Signal the uses of object syntax ("ListControl.Add" for example): If this option is checked, all uses of WLanguage object syntax, available from version 23, will be signaled in the programming standard errors. This allows you to easily find the uses of this syntax if it is not allowed in the project.
These options can be overloaded for the internal components, windows and reports. See "Programming standard errors" for more details.

Programming standard

These options are used to define a programming standard. The programming standard "errors" signal the code lines that do not respect this standard. These errors are displayed in the "Compilation errors" pane.
The available options are as follows:
  • Signal the WLanguage functions kept for compatibility: If this option is checked, the WLanguage functions kept for backward compatibility are indicated in the programming standard errors (TreeSort_55 for example).
    Reminder: The functions kept for backward compatibility may not be supported anymore in a forthcoming version. We recommend that you use the corresponding new function.
  • Signal the accesses to HFSQL from the windows, pages and reports: If this option is checked, all accesses to HFSQL data files are signaled in the programming standard errors.
    This option is used to quickly isolate the accesses to the database. Indeed, in some programming architectures, the accesses to the database must not be performed from the interface. These accesses must be performed in the business code from procedures or classes.
  • Signal the uses of object syntax ("ListControl.Add" for example): If this option is checked, all uses of WLanguage object syntax, available from version 23, will be signaled in the programming standard errors. This allows you to easily find the uses of this syntax if it is not allowed in the project.
These options can be overloaded for the internal components, windows and reports. See "Programming standard errors" for more details.

Compilation of unknown identifiers

This option is used to define the type of information displayed when the compiler encounters an unknown identifier (window name, control name, ...).
Two management modes are available:
  • Strict mode (by default): A compilation error is displayed.
  • Permissive mode: an implicit delcaration is performed and a warning is displayed. This mode may trigger errors at run time.

Compilation options

The available compilation options are as follows:
  • Compilation error on unknown identifiers: Used to define whether a compilation derror is displayed when the compiler encounters an unknown identifier (window name, control name, ...).
  • Versions 21 and later
    Compilation error on the off-configuration elements
    When this option is enabled, a compilation error occurs when it is used in the code linked to a configuration of elements outside configuration. The <COMPILE IF> statement is used to manage the code compilation according to the platforms and to the configuration types.
    New in version 21
    Compilation error on the off-configuration elements
    When this option is enabled, a compilation error occurs when it is used in the code linked to a configuration of elements outside configuration. The <COMPILE IF> statement is used to manage the code compilation according to the platforms and to the configuration types.
    Compilation error on the off-configuration elements
    When this option is enabled, a compilation error occurs when it is used in the code linked to a configuration of elements outside configuration. The <COMPILE IF> statement is used to manage the code compilation according to the platforms and to the configuration types.
  • Versions 18 and later
    Scope of local variables limited to the current block
    If this option is selected, the local variables will be specific to the block.
    You cannot use a local variable outside the block in which it is declared.
    The ending of the variable is run at the end of block (destructors and freeing memory).
    You have the ability to redeclare a variable with the same name in two distinct sub-blocks but you cannot redeclare a variable with the same name in a child sub-block.
    New in version 18
    Scope of local variables limited to the current block
    If this option is selected, the local variables will be specific to the block.
    You cannot use a local variable outside the block in which it is declared.
    The ending of the variable is run at the end of block (destructors and freeing memory).
    You have the ability to redeclare a variable with the same name in two distinct sub-blocks but you cannot redeclare a variable with the same name in a child sub-block.
    Scope of local variables limited to the current block
    If this option is selected, the local variables will be specific to the block.
    You cannot use a local variable outside the block in which it is declared.
    The ending of the variable is run at the end of block (destructors and freeing memory).
    You have the ability to redeclare a variable with the same name in two distinct sub-blocks but you cannot redeclare a variable with the same name in a child sub-block.
  • Versions 22 and later
    Allow "[% %]" in the strings: This option allows the direct input of a variable name in a character string (also called "dynamic string construction"). To do so, use the following syntax:
    [%VariableName%]
    For example:
    // Ask for customer confirmation
    IF YesNo(Yes, "Do you confirm the creation of customer [%sCustomerName%]") = No THEN
    RETURN
    END
    Caution: if this option is used, the code may have to be modified for some WLanguage functions that already use the "[% %]" characters in their parameters. In this case, to avoid interpreting the "[% %]" characters, they must be preceded by "-%". Example:
    grTooltip(GR_Deadline, grTooltipFormat, "[%CATEGORY%]" + CR + CR+ "[%VALUE%]" + " H")
    becomes
    grTooltip(GR_Deadline, grTooltipFormat, -%"[%CATEGORY%]" + CR + CR + -%"[%VALUE%]" + " H")
    New in version 22
    Allow "[% %]" in the strings: This option allows the direct input of a variable name in a character string (also called "dynamic string construction"). To do so, use the following syntax:
    [%VariableName%]
    For example:
    // Ask for customer confirmation
    IF YesNo(Yes, "Do you confirm the creation of customer [%sCustomerName%]") = No THEN
    RETURN
    END
    Caution: if this option is used, the code may have to be modified for some WLanguage functions that already use the "[% %]" characters in their parameters. In this case, to avoid interpreting the "[% %]" characters, they must be preceded by "-%". Example:
    grTooltip(GR_Deadline, grTooltipFormat, "[%CATEGORY%]" + CR + CR+ "[%VALUE%]" + " H")
    becomes
    grTooltip(GR_Deadline, grTooltipFormat, -%"[%CATEGORY%]" + CR + CR + -%"[%VALUE%]" + " H")
    Allow "[% %]" in the strings: This option allows the direct input of a variable name in a character string (also called "dynamic string construction"). To do so, use the following syntax:
    [%VariableName%]
    For example:
    // Ask for customer confirmation
    IF YesNo(Yes, "Do you confirm the creation of customer [%sCustomerName%]") = No THEN
    RETURN
    END
    Caution: if this option is used, the code may have to be modified for some WLanguage functions that already use the "[% %]" characters in their parameters. In this case, to avoid interpreting the "[% %]" characters, they must be preceded by "-%". Example:
    grTooltip(GR_Deadline, grTooltipFormat, "[%CATEGORY%]" + CR + CR+ "[%VALUE%]" + " H")
    becomes
    grTooltip(GR_Deadline, grTooltipFormat, -%"[%CATEGORY%]" + CR + CR + -%"[%VALUE%]" + " H")
  • Versions 22 and later
    Automatic naming of data sources
    By default, the "Data source" variables create a data source that use the variable name.
    This may cause a problem in the following cases:
    • using arrays of data sources
    • using data sources as class members.
    • when two windows use the same "data source" variable.
    This option allows you to use a unique name for the data source. Caution: the quotes must be deleted to handle the data source. You must not write:
    M1 is data source
    HReadFirst("M1")
    but
    M1 is data source
    HReadFirst(M1)
    New in version 22
    Automatic naming of data sources
    By default, the "Data source" variables create a data source that use the variable name.
    This may cause a problem in the following cases:
    • using arrays of data sources
    • using data sources as class members.
    • when two windows use the same "data source" variable.
    This option allows you to use a unique name for the data source. Caution: the quotes must be deleted to handle the data source. You must not write:
    M1 is data source
    HReadFirst("M1")
    but
    M1 is data source
    HReadFirst(M1)
    Automatic naming of data sources
    By default, the "Data source" variables create a data source that use the variable name.
    This may cause a problem in the following cases:
    • using arrays of data sources
    • using data sources as class members.
    • when two windows use the same "data source" variable.
    This option allows you to use a unique name for the data source. Caution: the quotes must be deleted to handle the data source. You must not write:
    M1 is data source
    HReadFirst("M1")
    but
    M1 is data source
    HReadFirst(M1)
  • Classes: optional ":" and "::" prefixes for accessing the members and the methods
    Until version 14, the accesses to the members had to be performed by using the ":" and "::" prefixes. If this option is checked, these prefixes will not be required anymore.
  • Versions 18 and later
    Classes: the methods with the same name are automatically virtual.
    The methods with the same name in derived classes are automatically virtual.
    The "semi-virtual" mode kept for backward compatibility with WINDEV 4 and 5 is no longer available.
    The "virtual" keyword has no effect. No warning occurs on the virtual methods if the "virtual" keyword is missing.
    New in version 18
    Classes: the methods with the same name are automatically virtual.
    The methods with the same name in derived classes are automatically virtual.
    The "semi-virtual" mode kept for backward compatibility with WINDEV 4 and 5 is no longer available.
    The "virtual" keyword has no effect. No warning occurs on the virtual methods if the "virtual" keyword is missing.
    Classes: the methods with the same name are automatically virtual.
    The methods with the same name in derived classes are automatically virtual.
    The "semi-virtual" mode kept for backward compatibility with WINDEV 4 and 5 is no longer available.
    The "virtual" keyword has no effect. No warning occurs on the virtual methods if the "virtual" keyword is missing.
  • Versions 18 and later
    Arrays: The assignment copies the content
    When this option is enabled, the arrays are local by default, which means that the '=' operator performs a copy of the array.
    The "dynamic" keyword is used to keep the taking of reference to the assignment.
    New in version 18
    Arrays: The assignment copies the content
    When this option is enabled, the arrays are local by default, which means that the '=' operator performs a copy of the array.
    The "dynamic" keyword is used to keep the taking of reference to the assignment.
    Arrays: The assignment copies the content
    When this option is enabled, the arrays are local by default, which means that the '=' operator performs a copy of the array.
    The "dynamic" keyword is used to keep the taking of reference to the assignment.
  • Versions 21 and later
    Arrays: protected access to the elements passed in parameter to a procedure
    This option is used to protect an array element passed in parameter to a procedure. This allows you to modify, delete or add elements into the array from this procedure.
    Note: If this option is selected, the accesses to the array may be slowed down.
    New in version 21
    Arrays: protected access to the elements passed in parameter to a procedure
    This option is used to protect an array element passed in parameter to a procedure. This allows you to modify, delete or add elements into the array from this procedure.
    Note: If this option is selected, the accesses to the array may be slowed down.
    Arrays: protected access to the elements passed in parameter to a procedure
    This option is used to protect an array element passed in parameter to a procedure. This allows you to modify, delete or add elements into the array from this procedure.
    Note: If this option is selected, the accesses to the array may be slowed down.
AndroidJava These compilation options are taken into account in Java and Android.
Minimum required version
  • Version 10
This page is also available for…
Comments
Click [Add] to post a comment