|
|
|
|
- Esta lección abarcará los siguientes temas
- Presentación
- Ejemplo
Lección 7.4. Compilación dinámica Esta lección abarcará los siguientes temas - Presentación.
- Dibujar una línea en una compilación dinámica.
La compilación dinámica permite compilar código en cualquier momento de la aplicación. Por ejemplo, la aplicación contiene una fórmula que se puede configurar. Para cambiar los parámetros, no es necesario volver a proporcionar el ejecutable: solo tiene que modificar un archivo de texto. La compilación dinámica se presentará a través del ejemplo unitario "Dynamic compilation". La ventana "Dynamic compilation" explica cómo compilar dinámicamente el código WLanguage (almacenado en formato de cadena), ejecutar el procedimiento generado dinámicamente y procesar los posibles errores de ejecución. - Para probar esta ventana:
- Abra el ejemplo unitario "Dynamic compilation".
- Pruebe la ventana "WIN_DYNAMIC_COMPILATION".
- Haga clic en los botones "Run" para ver los diferentes casos.
- Detenga la prueba.
- Volvamos al editor de código para ver el código del primer botón "Run".
- Abra el código del botón "Run" (haga clic derecho en el control y seleccione "Código"). Este código llama al procedimiento CompileDynamicCode.
- Posicione el cursor sobre el nombre del procedimiento y pulse F2. El código WLanguage del procedimiento aparece automáticamente en el editor de código.
El código de este procedimiento se puede dividir en varias secciones:- Inicialización de variables.
- Compilación del código.
sCompilationResult = Compile(DYNAMIC_PROCEDURE, EDT_COMPIL_CODE)
Este código contiene varios puntos importantes:- La función se compila con la función WLanguage Compile. Una vez que se llama a la función, se puede utilizar la función compilada dinámicamente (si no se devuelve ningún error).
- Esta función espera dos parámetros: el nombre del procedimiento compilado ("DYNAMIC_PROCEDURE") y el código a compilar. En este caso, el código a compilar está en el control Campo de entrada EDT_COMPIL_CODE.
- El resultado de la compilación se asigna a una cadena sCompilationResult.
- Verificación del resultado de la compilación.
// Checks the compilation result SWITCH sCompilationResult // No error CASE "" bCompilationResult = True STC_ERROR_COMPILED_CODE = "" // Fatal compilation error CASE "ERR" bCompilationResult = False STC_ERROR_COMPILED_CODE = ErrorInfo() // Incorrect code OTHER CASE bCompilationResult = False STC_ERROR_COMPILED_CODE = sCompilationResult END
- Presione Ctrl + F2. El evento "Clic" del botón "Run" aparece de nuevo en el editor de código. En el resto de este código, se puede ver que la función que se compila dinámicamente se ejecuta con la función Execute.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|