AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Editores / Editor de proyectos / Descripción del proyecto
  • Overview
  • Compilation tab
  • General options
  • UI errors
  • Multi-configuration compilation
  • Programming standard
  • Compiler options
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Overview
The project description window allows you to configure various elements of your project. This window includes the following tabs:
  • The "Project" tab, which allows you to enter general information about the project.
  • The "Analysis" tab, which lets you associate one or more analyses with the project and/or a UML model.
  • The "Data files" tab, which lets you enter information about the data files managed by the application (only available if the project is linked to at least one analysis).
  • The "Live Data" tab, which allows you to configure how the data from the data files is displayed in the different editors.
  • The "Languages" tab, which is used to configure the different languages used by the project as well as the options to be used for each language.
  • WINDEV Mobile The "Style" tab, which allows you to customize the print preview and to choose the skin template and custom style sheet. You can also configure screen sizes.
  • The "SCM" tab, which is used to manage teamwork (SCM or Git).
  • The "Options" tab, which allows you to define the creation, update and save options of the different elements of the project. This tab also allows you to synchronize templates, enable strict mode and define the code style.
  • The "Advanced" tab, which allows you to enable "Reports and Queries", configure the AAFs and lock the application.
  • The "Compilation" tab, which allows you to configure the compilation options.
  • The "Telemetry" tab, which allows you to configure the telemetry options for the project.
Compilation tab

General options

The general options are as follows:
  • Recompilar proyecto antes de generar las aplicaciones, bibliotecas, componentes, etc.:
    This option is used to force the project recompilation before each major operation on the project. This option is recommended for a multiple generation from a project.
    This option is also available in all wizards used to perform a deployment operation (executable creation, library creation, multiple generation, etc.)..
    Note: The application's compiled code directory is created in an "<Nom_Projet>.cpl" subdirectory of the compilation directory.. This compiled code directory contains the compiled code files for each element of the project: windows, reports, queries, etc.

UI errors

UI compilation errors indicate the possible problems detected in your interfaces whenever a window, a page or a report is saved or whenever the project is recompiled.
By default, UI compilation errors are enabled for each new project created ("Activar compilación de UI" checked).
The "Editar idiomas" button allows you to choose the project languages that will be taken into account by the UI compilation.
For more details, see UI compilation errors.

Multi-configuration compilation

If the "Activar compilación de múltiples configuraciones (por usuario)" option is checked, all the project configurations will be 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.
Remember: the project is compiled each time a new line is entered in the code editor, each time it is saved (Ctrl + S), and so on.

Programming standard

These options are used to define a programming standard. The programming standard "errors" signal the lines of code that do not respect this standard. These errors are displayed in the "Compilation errors" pane.
The available options are as follows:
  • Standard or prefix syntax: You can:
    • Allow both: In this case, no programming standard error will be displayed.
    • Indicate use of prefix syntax: A programming standard error will appear if prefix syntax is used (e.g., "ListControl.Add").
    • Indicate use of standard syntax: A programming standard error will appear if standard syntax is used instead of an available prefix syntax.
  • Señalar mezclas de código lógica de negocio y código UI: If this option is checked, code mixing errors will be enabled on all project elements. For more details, see Splitting Business logic / UI code.
  • Señalar uso de hilos no seguros: If this option is checked, there will be error messages for unsafe threads. For more details, see Thread (Variable type).
  • Señalar funciones WLanguage conservadas para compatibilidad: If this option is checked, WLanguage functions kept for backward compatibility are indicated in the programming standard errors (e.g. TreeSort_55).
    Reminder: Functions kept for compatibility may no longer be supported in a future version.. It is recommended to use the corresponding new function.
  • Señalar mensajes multilingües compartidos: If checked, this option allows you to quickly identify shared multilingual text, by generating a compilation error. This option should be used when converting multilingual text to format 27 and higher. For more details, see Translation of programming messages.
  • Novedad versión 2025
    Señalar cadenas que deberían ser secretas If this option is checked, all functions that manipulate passwords, private keys or tokens will be flagged. To secure the use of these functions, it will be possible to use secret strings defined in the secret string vault. For more details, see Secret string vault.
These options can be overridden for internal components, windows, pages and reports. For more details, see Programming standard errors.

Compiler options

The available compilation options are as follows:
  • Compilation error on unknown identifiers
    Defines whether a compiler error is displayed when the compiler encounters an unknown identifier (window name, field name, etc.).
  • 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.
  • 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 the 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.
    AndroidWidget Android If this option is enabled, the declaration of internal procedures using "range-limited" variables will result in a generation error.. Example:
    • the following code causes a compilation error:
      PROCEDURE MyProcedure()
      IF MyCondition THEN
          str is TO string // str exists only within the scope of the SI statement 
          INTERNAL PROCEDURE my_proc_interne()
              str = "thing" // -> Will cause an error in Java/Android generation
          END
      END
    • To correct this code, it is necessary not to declare the variable in the IF statement:
      PROCEDURE MyProcedure()
      str is TO string 
      IF MyCondition THEN
          INTERNAL PROCEDURE my_proc_interne()
              str = "thing"
          END
      END
    In Java and Android, we recommend always declaring internal procedures in the scope of the procedure itself.. Thus, if undeclared variables are used, compilation errors will be displayed.
  • Allow "[% %]" in channels:
    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: Using this option may mean modifying the code for certain 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")
    For more details, see String interpolation.
  • Allow nullable types:
    Enables nullable types in a WINDEV, WEBDEV or WINDEV Mobile project. Allowing nullable types in a project changes the way your project handles null values. For more details, see NULL values: Allowing nullable types.
  • Classes: ":" and "::" prefixes for access to optional members and 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.
  • Classes: 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.
  • Arrays: deep copy
    This option makes arrays local by default. This means that the '=' operator performs a deep copy of the values in the array.
    If necessary, you can use the "dynamic" keyword so that the arrays point to the same reference.
  • Arrays: protected access to elements passed as parameters to a procedure
    This option is used to protect an array element passed to a procedure as a parameter. This allows you to modify, delete or add elements into the array from this procedure.
    Note: When enabled, this option may slow down access to the array.
  • Optimization: Activate inline extension:
    This option speeds up the execution of the application code. Whenever possible, the compiler automatically replaces the procedure call with its code. This may result in an overall increase in code size, but faster procedure calls.
  • Optimization: optimized evaluation of Boolean expressions (AND, OR, IN):
    This option modifies the historical behavior of Boolean expressions:
    • If this option is checked, logical operators will operate in an optimized way by default: If the first part of the expression determines, the second part is not evaluated. This option is checked by default in new projects from version 2024 onwards.
    • If this option is unchecked, historical operation is retained: all elements of the expression are evaluated. To obtain optimized behavior, it is necessary to use the _ET_, _OR_, _WITHIN_ operators..
    For more details, see Logical operators.
  • "Data source names":
    • "Variable name":
      "Data source" variables create a data source that use the name of the variable. 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.
    • "Automatic name":
      "Data Source" variables use a unique name for the data source. Please note quotation marks must be removed to manipulate the data source. Don't write:
      M1 is Data Source
      HReadFirst("M1")
      but
      M1 is Data Source
      HReadFirst(M1)
    • "Automatic name with references":
      "Data Source" variables use a unique name for the data source. It is now possible to reference an existing data source, for example using the following syntax:
      x is Data Source
      x = FileName
      x = QueryName
      The NULL value is supported.

Android These compilation options are taken into account in Java and Android.
Versión mínima requerida
  • Versión 10
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/02/2025

Señalar un error o enviar una sugerencia | Ayuda local