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 / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de gestión de Windows / Funciones varias de WINDEV
  • Variables locales
  • Compilación del código
  • Código dinámico
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Ejecuta el código WLanguage que se encuentra en una cadena de caracteres.
Ejemplo
sText is string = "Text"
// Displays the text in a window
ExécuteCode("Info(sText)")
// Declare the variables.
sCodeToRun is string
xOperationResult is numeric
 
// WLanguage code to run.
// This code returns the result of an operation %1.
sCodeToRun = [
MyCalculation is numeric
MyCalculation = %1
RETURN MyCalculation
]
 
// WLanguage code to run.
// Replace %1 by the operation displayed
// in the EDT_EXPRESSION edit control.
sCodeToRun = StringBuild(sCodeToRun, EDT_EXPRESSION)
 
// Run the code and retrieve the result.
xOperationResult = ExecuteCode(sCodeToRun)
 
// Displays the result of the operation in an Info message box
Info("The result of your operation is: " + xOperationResult)
Sintaxis
<Result> = ExecuteCode(<Code>)
<Result>: Cualquier tipo
  • Resultado del código si contiene una sentencia RETURN,
  • Nada más que eso. En este caso, puede aparecer un mensaje de error cuando se asigna el resultado en un Variable por ejemplo.
<Code>: Cadena de caracteres
Código WLanguage a ejecutar.
Observación: Este código puede contener el código de llamada y de declaración de un Procedure interno.
Observaciones

Variables locales

Las variables locales del actual Process pueden ser usadas directamente en el código a ejecutar.
Si el código se compila sin erroresel código se ejecuta directamente.
Se desencadena un error fatal si el código no está compilado.

Compilación del código

El código se recompila cada vez que se llama a la función ExecuteCode.
Para evitar el paso de compilación, tiene la posibilidad de utilizar Compilar y Ejecute.

Código dinámico

Las constantes no pueden utilizarse en el código dinámico (definido por la palabra clave CONSTANTE).
Cuando se utilizan constantes en un código, todas las apariciones de las constantes se sustituyen por su valor durante la compilación en el editor, pero la correspondencia entre el nombre de las constantes y su valor no se "incrusta" en la aplicación. Por lo tanto, la compilación dinámica no puede utilizar las constantes.
Veamos dos alternativas:
1 - Usar variables en lugar de constantes
CONSTANT
CST_Name = 1
END
se convierte, por ejemplo
CST_Name is int = 1
o
2 - En la cadena que contiene el código que debe compilarse dinámicamente, sustituir el nombre de la constante por su valor:
sCode is string
// In the string containing the code that will be compiled dynamically
// instead of leaving the name of the constant:
sCode=[
Info(CST_Name)
]
// Replace the name of the constant by its value
sCode = Replace(sCode, "CST_Name", CST_Name, WholeWord + IgnoreCase)
// The code can be compiled now
IF Compile("DynProc", sCode) <> "" THEN
Error("Error while compiling the dynamic procedure: ", ...
ErrorInfo())
ELSE
// Then it can be run
WHEN EXCEPTION IN
ExecuteProcess("DynProc", trtProcedure)
DO
Error("Error while running the dynamic procedure: ", ...
ExceptionInfo())
END
END
Componente: wd290vm.dll
Versión mínima requerida
  • Versión 17
Esta página también está disponible para…
Comentarios
EXEMPLO EXECUTECODE
https://youtu.be/WsbELU020a8

http://doc.windev.com/en-US/?1000019783&name=ExecuteCode

// EXEMPLO

// EXECUTA COMANDOS

ExecuteCode(EDT_COMANDOS)
De matos
29 05 2018

Última modificación: 27/05/2022

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