|
|
|
|
|
- Project elements: fields, windows, etc.
- Local variables
- Compiling the code
- Dynamic code
ExecuteCode (Function) In french: ExecuteCode Runs the WLanguage code found in a character string. sTexte is string = "Texte" // Affiche le texte dans une fenêtre ExécuteCode("Info(sTexte)")
sCodeAExécuter is string
xRésultatOpération is numeric
sCodeAExécuter = [
MonCalcul est un numérique
MonCalcul = %1
RENVOYER MonCalcul
]
sCodeAExécuter = StringBuild(sCodeAExécuter, SAI_EXPRESSION)
xRésultatOpération = ExecuteCode(sCodeAExécuter)
Info("Le résultat de votre opération est: " + xRésultatOpération)
Syntax
<Result> = ExecuteCode(<Code> [, <Parameters>])
<Result>: Any type - Result of the code if it contains a RETURN statement,
- Nothing otherwise. In this case, an error message may be displayed when the result is assigned in a variable for example.
<Code>: Character string WLanguage code to run. Note: This code may contain the call and declaration code of an internal procedure. <Parameters>: Optional variable of type CodeWLangageCompilation
Remarks Project elements: fields, windows, etc. Project elements are not known in the dynamic code. It is necessary to use the syntaxes with character strings. Example: - Error code:
schaine is string schaine = [ Ouvrefille(fen_table) fen_table.afftable ] ExécuteCode(schaine) - Correct code:
schaine is string schaine = [ Ouvrefille("fen_table") x est une procédure x = "fen_table.afftable" x() ] ExécuteCode(schaine)
Local variables The local variables of the current process can be directly used in the code to run. If the code is compiled without error, the code is run directly. A fatal error is triggered if the code is not compiled. Compiling the code The code is recompiled each time ExecuteCode is called. To avoid the compilation step, you have the ability to use Compile and Execute. Dynamic code Constants cannot be used in dynamic code (defined with the CONSTANT keyword). When using constants in a code, all the occurrences of the constants are replaced with their value during the compilation in the editor but the correspondence between the name of constants and their value is not "embedded" in the application. Therefore, the dynamic compilation cannot use the constants. Let's see two alternatives: 1 - Use variables instead of constants 2 - In the string containing the code that must be compiled dynamically, replace the name of the constant by its value: sCode is string
sCode=[
Info(CST_Nom)
]
sCode = Replace(sCode, "CST_Nom", CST_Nom, WholeWord + IgnoreCase)
IF Compile("ProcDyn", sCode) <> "" THEN
Error("Erreur de compilation de la procédure dynamique: ", ErrorInfo())
ELSE
WHEN EXCEPTION IN
ExecuteProcess("ProcDyn", trtProcedure)
DO
Error("Erreur d'exécution de la procédure dynamique: ", ExceptionInfo())
END
END
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|