|
|
|
|
- Desactivando el JITc
- Optimización de las llamadas externas
- Gestión de errores
Solía hacerlo: - averiguar y/o modificar el comportamiento de la aplicación o sitio cuando se generan algunos errores. Según el modo de tiempo de ejecución seleccionado, estos errores pueden ignorarse o pueden generar algunos mensajes de error. En algunos casos, la función ExecutionMode permite restaurar el comportamiento de WINDEV 5.5.
- optimizar las llamadas a las funciones declaradas externamente. Se utiliza para optimizar la velocidad de ejecución de la aplicación en 2 casos:
- Procedimientos declarados externamente
- Los códigos compilados dinámicamente, llaman a un procedimiento global o local del proyecto.
- averiguar y/o modificar el uso de la JITc por parte de la aplicación. La aplicación utiliza JITc por defecto. Sólo se puede desactivar.
- averiguar y/o modificar el modo de gestión de las referencias bajas para todos los objetos instanciados.
// Test mode? IF InTestMode() = True THEN ExecutionMode(NormalMode) ELSE // Apply the operating mode of WINDEV 5.5 // to avoid displaying some errors ExecutionMode(PermissiveMode) END
Sintaxis <Result>: Combinación de constantes enteras Modo de ejecución actual de la aplicación o del sitio: | | Llamadas ExternasOptimizadas | Optimiza la gestión de llamadas externas a los procedimientos. Este parámetro está asociado a una de las dos constantes siguientes.
| DisableOptimizedExecution | JITc (Just In Time compilation) está desactivado. | ForceDestructorNonDynamicObject | Fuerza la destrucción de objetos no dinámicos (incluso si se ha tomado una referencia fuerte). | modeFormerOperatingModeDuration | Las propiedades de Duración mantienen el modo de funcionamiento utilizado en la versión 12. | Modo normal | Los errores que se han producido generan mensajes de error. | Modo Permisivo | Se ignoran los errores que se han producido (modo WINDEV 5.5 o WEBDEV 1.5). |
Modificar el modo de ejecución actual Ocultar los detalles
<Result> = Modo de ejecución(<New runtime mode>)
<Result>: Constante de tipo Integer Modo de ejecución de la aplicación o sitio después de la modificación. | | Llamadas ExternasOptimizadas | Optimiza la gestión de llamadas externas a los procedimientos. Este parámetro está asociado a una de las dos constantes siguientes.
| DisableOptimizedExecution | JITc (Just In Time compilation) está desactivado. | ForceDestructorNonDynamicObject | Fuerza la destrucción de objetos no dinámicos (incluso si se ha tomado una referencia fuerte). | modeFormerOperatingModeDuration | Las propiedades de Duración mantienen el modo de funcionamiento utilizado en la versión 12. | Modo normal | Los errores que se han producido generan mensajes de error. | Modo Permisivo | Se ignoran los errores que se han producido (modo WINDEV 5.5 o WEBDEV 1.5). |
<New runtime mode>: Constante de tipo Integer Nuevo modo de tiempo de ejecución a aplicar. | | Llamadas ExternasOptimizadas | Optimiza la gestión de llamadas externas a los procedimientos. Este parámetro está asociado a una de las dos constantes siguientes.
| DisableOptimizedExecution | Desactiva la JITc (compilación de Just In Time). | ForceDestructorNonDynamicObject | Fuerza la toma de baja referencia para todos los objetos. | modeFormerOperatingModeDuration | Las propiedades de Duración mantienen el modo de funcionamiento utilizado en la versión 12. | Modo normal | Los errores que se han producido generan mensajes de error. | Modo Permisivo | Se ignoran los errores que se han producido (modo WINDEV 5.5 o WEBDEV 1.5). |
Observaciones Optimización de las llamadas externas Atención: Cuando se migra un proyecto de la versión 5.5, el modo permisivo se añade automáticamente al código de inicialización del proyecto durante la migración.. La siguiente línea de código le permite tener en cuenta la optimización de las llamadas externas: ExecutionMode(PermissiveMode + ExternalCallsOptimized)
El tabla a continuación presenta el comportamiento de la aplicación de acuerdo a los errores ocurridos: | | | Caso de error | Modo Permisivo | Modo normal |
---|
Lectura de un índice fuera del rango de una Tabla, List Box o control Combo Box. Ejemplos:
s = ListaA[-1]
n = Lista B[56]...Color | El programa devuelve '0' o una cadena vacía (""") dependiendo de la propiedad utilizada. | Se visualiza un error de ejecución. Ejemplo: "índice inválido: [-1]". | Escribir en una índice negativa de un List Box, Tabla o control Combo Box. Ejemplo:
Lista[-1] = "Smith" | La línea de código es ignorada | Se visualiza un error de ejecución. Ejemplo: "índice inválido: [-1]" | Escribir en una índice demasiado grande de un List Box, Tabla o control Combo Box. Ejemplo:
LIST[54] = "Smith" | Un elemento vacío se inserta al final de la control List Box y toma el valor especificado. | Se visualiza un error de ejecución. Ejemplo: "índice inválido: [ 54]" | Ejemplo:
Abierto ("WIN1") | Los caracteres de espacio adicionales se eliminan. | Se visualiza un error de ejecución. Ejemplo: "La ventana de'WIN1' no se encuentra" | Usando la funciones para la gestión de menús emergentes y desplegables con un número de menú que no existe. Ejemplo:
MenúMark(WIN1, 54645) | La función devuelve '0' y ErrorInfo está llena. | Se visualiza un error de ejecución. Ejemplo: "La opción especificada [ 54645] no existe en el menú" | Usando a Right y Left con un número negativo de caracteres para extraer. Ejemplo:
Left("abcdef", -1) | La función devuelve una cadena vacía ("""). | La función devuelve EOT y ErrorInfo se llena. | Usando Middle con una posición de inicio que es negativa y / o con un número negativo de caracteres para extraer. Ejemplo:
Middle("abcdef", -2, -4) | La función:- inicia la extracción desde el principio de la cadena si la posición inicial es negativa.
- devuelve la cadena completa de la fuente.
| La función devuelve EOT y ErrorInfo se llena. |
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|