L'instruction de compilation
<SI CibleExécution> permet de compiler ou non un code WLangage en fonction de la cible d'exécution.
Cette instruction est notamment utilisée pour obtenir simplement un code multi-configuration, sans affichage d'erreurs de compilation.
Remarque : De manière générale le principe est d'utiliser le plus possible
les conditions de compilation <COMPILE SI> pour gérer les différences entre les différentes plateformes. Lorsqu'une des configurations qui utilisent le code doit s'adapter à des cas cibles d'exécution multiples, il est alors nécessaire d'utiliser <SI CibleExécution>.
<SI CibleExécution=ApplicationWindows OU CibleExécution=Java>
Ouvre(FEN_Menu)
<FIN>
<SI CibleExécution=Android OU CibleExécution=iOS>
OuvreFenêtreMobile(FEN_Menu)
<FIN>
<SI CibleExécution=Site>
PageAffiche(PAGE_Login)
<FIN>
Syntaxe
Cible d'exécution simple
<SI <CibleExécution=<Nom de la cible>>
... // Code si la condition est vraie
<FIN>
Combinaison de conditions
<SI <CibleExécution=<Nom de la cible> OU <CibleExécution=<Nom de la cible2>>
... // Code si la condition est vraie
<FIN>
Utilisation de l'opérateur <>
<SI <CibleExécution <> <Nom de la cible>>
... // Code si la condition est vraie
<FIN>
Utilisation d'un bloc SINON
<SI <CibleExécution <> <Nom de la cible>>
... // Code si la condition est vraie
<SINON>
... // Code si la condition est fausse
<FIN>
Remarques
Paramètre <Nom de la cible>
Les différentes cibles sont les suivantes :
- Android
- AppleWatch
- ApplicationDotNet
- ApplicationLinux
- ApplicationWindows
- AssemblageDotNet
- Bibliothèque
- ComposantExterne
- iOS
- iOSWidget
- Java
- Linux
- MacCatalyst
- PatternRAD
- PlanAction
- ServeurWebSocket
- ServeurWebSocketLinux
- ServeurWebSocketWindows
- ServiceLinux
- ServiceWindows
- Site
- SiteLinux
- SitePHP
- SiteWindows
- UniversalWindowsApp
- Webservice
- WebserviceLinux
- WebserviceWindows
- Windows
- La déclaration de variables globales ne peut pas être effectuée dans une instruction de type <SI CibleExécution>.
- Les variables locales doivent avoir des noms uniques pour toutes les cibles d'exécution.