AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / Tutorial WINDEV / Tutorial - Base de datos externa
  • 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.
Duración de la lección

Tiempo estimado: 20 min
Lección anteriorTabla de contenidoSiguiente lección
Presentación
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.
Ejemplo
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:
    1. Abra el ejemplo unitario "Dynamic compilation".
    2. Pruebe la ventana "WIN_DYNAMIC_COMPILATION".
    3. Haga clic en los botones "Run" para ver los diferentes casos.
    4. Detenga la prueba.
  • Volvamos al editor de código para ver el código del primer botón "Run".
    1. 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.
    2. 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:
      1. Inicialización de variables.
      2. 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.
      3. 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
    3. 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.
Lección anteriorTabla de contenidoSiguiente lección
Versión mínima requerida
  • Versión 28
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 09/02/2023

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