|
|
|
|
|
- Presentación
- Ficha Compilación
- Opciones generales
- Errores de UI
- Compilación de múltiples configuraciones
- Estándar de programación
- Opciones del compilador
Descripción del proyecto: Pestaña de compilación
La ventana de descripción del proyecto permite configurar varios elementos del proyecto. Esta ventana incluye las siguientes pestañas: - 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.
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.
- La pestaña "Compilación", que te permite configurar las opciones de compilación.
- The "Telemetry" tab, which allows you to configure the telemetry options for the project.
Opciones generales Las opciones generales son las siguientes:
- Recompilar proyecto antes de generar las aplicaciones, bibliotecas, componentes, etc.:
Esta opción se utiliza para forzar a volver a compilar el proyecto antes de cada operación importante en el proyecto. Esta opción se recomienda para una generación múltiple a partir de un proyecto. Esta opción también está disponible en todos los asistentes utilizados para realizar una operación de implementación (creación de un archivo ejecutable o biblioteca, generación múltiple, etc.). Nota: El directorio de código compilado de la aplicación ("<Project_name>.cpl") se creará en un subdirectorio del directorio de compilación. Este directorio de código compilado contiene los archivos de código compilado de cada elemento del proyecto: ventanas, informes, consultas, etc.
Errores de UI Los errores de compilación de la interfaz de usuario indican los posibles problemas detectados en sus interfaces cada vez que se guarda una ventana, una página o un informe o cada vez que se vuelve a compilar el proyecto. Por defecto, los errores de compilación de la interfaz de usuario se activan para cada nuevo proyecto. El botón "Editar idiomas" permite elegir los idiomas del proyecto que se tendrán en cuenta en la compilación de la interfaz de usuario. Compilación de múltiples configuraciones Si se marca la opción "Activar compilación de múltiples configuraciones (por usuario)", se compilarán todas las configuraciones del proyecto. Por lo tanto, los posibles errores de compilación en una configuración dada aparecen inmediatamente. Esta opción es muy útil para un proyecto WINDEV Mobile disponible en Android y iPhone/iPad por ejemplo. Recordatorio: El proyecto se compila cada vez que se guarda (Ctrl + S), cada vez que se pasa a una nueva línea en el editor de código, etc. Estándar de programación Estas opciones se utilizan para definir un estándar de programación. Los "errores" del estándar de programación señalan las líneas de código que no respetan este estándar. Estos errores se muestran en el panel "Errores de compilación". Las opciones disponibles son las siguientes: - Sintaxis estándar o con prefijo: Puede:
- Permitir ambos: En este caso, no se mostrará ningún error estándar de programación.
- Indicar el uso de sintaxis con prefijo: Aparecerá un error estándar de programación si se utiliza sintaxis con prefijo (por ejemplo, "ListControl.Add").
- Indica el uso de la sintaxis estándar: Aparecerá un error estándar de programación si se utiliza la sintaxis con prefijo estándar en lugar de una sintaxis con prefijo disponible.
New in SaaSSeñalar mezclas de vocabulario (#Team **Archivo de datos** / #Team **Tabla**): Aparecerá un error estándar de programación si se utiliza una función con un nombre específico en vocabulario heredado ("Archivo de datos") en un proyecto que utiliza vocabulario genérico (Tabla), y viceversa. Nota: Esta función sólo está disponible en WINDEV Suite SaaS 2025 - Actualización 3. Para obtener más información, consulte Utilizar las novedades exclusivas de WINDEV Suite SaaS 2025.- Señalar mezclas de código lógica de negocio y código UI: Si se marca esta opción, se activarán los errores de mezcla de código en todos los elementos del proyecto. Para obtener más información, consulte Dividir lógica de negocio / UI.
- Señalar uso de hilos no seguros: Si esta opción está marcada, habrá mensajes de error para subprocesos inseguros. Para obtener más información, consulte Thread (Tipo de variable).
- Señalar funciones WLanguage conservadas para compatibilidad: Si esta opción está marcada, las funciones WLanguage conservadas por compatibilidad con versiones anteriores se indican en los errores del estándar de programación (por ejemplo TreeSort_55).
Recordatorio: Las funciones conservadas por compatibilidad pueden dejar de ser compatibles en una versión futura.. Se recomienda utilizar la nueva función correspondiente. - Señalar mensajes multilingües compartidos: Si está marcada, esta opción permite identificar rápidamente el texto multilingüe compartido, generando un error de compilación. Esta opción debe utilizarse al convertir texto multilingüe al formato 27 y superiores. Para obtener más información, consulte Traducir textos de programación.
Novedad versión 2025Señalar cadenas que deberían ser secretas: Si se marca esta opción, se resaltarán todas las funciones que manejen contraseñas, claves privadas o tokens. Para utilizar estas funciones sin ningún riesgo, puede utilizar las cadenas secretas definidas en el almacén de cadenas secretas. Para obtener más información, consulte Almacén de cadenas secretas.
Estas opciones pueden anularse para los componentes internos, las ventanas, las páginas y los informes. Para obtener más información, consulte Errores de estándar de programación. Opciones del compilador Las opciones de compilación disponibles son las siguientes:
 - Error de compilación en identificadores desconocidos
Define si se muestra un error de compilación cuando el compilador encuentra un identificador desconocido (nombre de ventana, nombre de campo, etc.). - Error de compilación en los elementos fuera de configuración
Cuando esta opción está activada, se produce un error de compilación cuando se utiliza en el código vinculado a una configuración de elementos fuera de configuración. La sentencia <COMPILE IF> sirve para gestionar la compilación del código en función de las plataformas y de los tipos de configuración. - Alcance de las variables locales limitadas al bloque actual
Si se selecciona esta opción, las variables locales serán específicas del bloque. No se puede utilizar una variable local fuera del bloque en el que se declara. La finalización de la variable se ejecuta al final del bloque (destructores y liberación de memoria). Puede volver a declarar una variable con el mismo nombre en dos sub-bloques distintos, pero no puede volver a declarar una variable con el mismo nombre en un sub-bloque hijo.
Si esta opción está activada, la declaración de procedimientos internos que utilicen variables de "ámbito limitado" dará lugar a un error de generación. Ejemplo: - el siguiente código provoca un error de compilación:
PROCEDURE MaProcedure()
IF MaCondition THEN
str is string
INTERNAL PROCEDURE ma_proc_interne()
str = "truc"
END
END
- Para solucionar este error, la variable no debe declararse en la sentencia IF:
PROCEDURE MaProcedure()
str is string
IF MaCondition THEN
INTERNAL PROCEDURE ma_proc_interne()
str = "truc"
END
END
En Java y Android, se recomienda declarar siempre los procedimientos internos en el ámbito del propio procedimiento. Por lo tanto, el uso de variables no declaradas provocará errores de compilación. - Permitir "[% %]" en las cadenas:
Esta opción permite utilizar directamente un nombre de variable en una cadena (también denominada "construcción dinámica de cadenas"). Para ello, utilice la siguiente sintaxis: Por ejemplo:
IF YesNo(Yes, "Confirmez-vous la création du client [%sNomClient%]") = No THEN
RETURN
END
Precaución: El uso de esta opción puede implicar la modificación del código de algunas funciones de WLanguage que ya utilizan los caracteres "[% %]" en sus parámetros. En este caso, para evitar la interpretación de los caracteres "[% %]", éstos deben ir precedidos de "-%". Ejemplo:
grTooltip(GR_Echéance, grTooltipFormat, "[%CATEGORIE%]" + CR + CR+ "[%VALEUR%]" + " H")
cambia agrTooltip(GR_Echéance, grTooltipFormat, -%"[%CATEGORIE%]" + CR + CR + -%"[%VALEUR%]" + " H")
Para obtener más información, consulte Interpolación de cadenas. - Permitir tipos que admiten valores NULL:
Habilita los tipos anulables en un proyecto WINDEV, WEBDEV o WINDEV Mobile. Permitir tipos anulables en un proyecto cambia la forma en que éste gestiona los valores nulos. Para obtener más información, consulte Valores nulos: Permitir tipos anulables. - Clases: prefijos opcionales ":" y "::" para acceder a los miembros y a los métodos
Hasta la versión 14, los accesos a los miembros debían realizarse utilizando los prefijos ":" y "::". Si se marca esta opción, estos prefijos dejarán de ser necesarios. - Clases: los métodos con el mismo nombre son automáticamente virtuales
Los métodos con el mismo nombre en las clases derivadas son automáticamente virtuales. El modo "semivirtual" conservado para la compatibilidad con WINDEV 4 y 5 ya no está disponible. La palabra clave "virtual" no tiene ningún efecto. No se produce ninguna advertencia en los métodos virtuales si falta la palabra clave "virtual". - Clases: instancias pasadas como parámetros por referencia ("dinámica" no útil)
Esta opción permite utilizar una sintaxis más concisa para los parámetros de la clase base. Puedes escribir:
PROCEDURE MyProcedure(Param is BaseClass) en lugar de:
PROCEDURE MyProcedure(LOCAL Param is Dynamic BaseClass) Si esta opción está marcada, el operador <- se vuelve inválido. Para cambiar la referencia local utilice la siguiente sintaxis:
PROCEDURE MyProcedure(LOCAL Param is Dynamic BaseClass) Para devolver una referencia al llamanteutilice la siguiente sintaxis:
PROCEDURE MyProcedure(Param is Dynamic BaseClass) Nota: El uso exclusivo de la palabra clave LOCAL crea una copia de la instancia. - Arrays: copia profunda
Esta opción hace que los arrays sean locales por defecto. Esto significa que el carácter '=' realiza una copia en profundidad de los valores del array. Si es necesario, puede utilizar la palabra clave "dynamic" para que los arrays apunten a la misma referencia. - Arrays: acceso protegido a los elementos pasados como parámetro a un procedimiento
Esta opción se utiliza para proteger un elemento de array pasado a un procedimiento como parámetro. Esto le permite modificar, borrar o añadir elementos al array desde este procedimiento. Nota: Cuando está activada, esta opción puede ralentizar el acceso al array. - Optimización: activar la expansión en línea:
Esta opción acelera la ejecución del código. Siempre que sea posible, el compilador sustituye automáticamente la llamada a procedimiento por su código. Esto puede resultar en un aumento general del tamaño del código, pero en llamadas a procedimientos más rápidas. - Optimización: evaluación optimizada de expresiones booleanas (AND, OR, IN):
Esta opción cambia el antiguo comportamiento de las expresiones booleanas:- Si se marca esta opción, los operadores lógicos se optimizarán por defecto. Si la primera parte de la expresión determina el resultado, la segunda parte no se evalúa. A partir de la versión 2024, esta opción está activada por defecto para todos los nuevos proyectos.
- Si se desactiva esta opción, se conserva el modo heredado. Esto significa que todos los elementos de la expresión se evaluarán. Para utilizar un modo optimizado, es necesario utilizar los operadores _AND_, _OR_, _IN_..
Para obtener más información, consulte Operadores lógicos. - "Nombres de fuentes de datos":
- "Nombre de la variable":
Las variables "fuente de datos" crean una fuente de datos que utiliza el nombre de la variable. Esto puede causar un problema en los siguientes casos: - utilizando arrays de fuentes de datos
- utilizando fuentes de datos como miembros de la clase.
- cuando dos ventanas utilizan la misma variable de Fuente de Datos.
- "Nombre automático":
Las variables "Fuente de datos" utilizan un nombre único para la fuente de datos. Tenga en cuenta que las comillas deben eliminarse para manipular la fuente de datos. No escribas:
M1 is Data Source HReadFirst("M1") sin embargo M1 is Data Source HReadFirst(M1) - "Nombre automático con referencias":
Las variables "Fuente de datos" utilizan un nombre único para la fuente de datos. Ahora es posible hacer referencia a una fuente de datos existente, por ejemplo utilizando la siguiente sintaxis:
x is Data Source x = FileName x = QueryName Se admite el valor NULL.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|