FAQ n°23907, publiée le 01/02/2023
Dans quel cas une erreur de compilation "la fonction n'est pas disponible pour la cible" peut apparaître lors de la recompilation en version 28 ?

Le WLangage et la compilation sont sans cesse améliorés dans toutes les versions de WINDEV, WEBDEV et WINDEV Mobile. 


A partir de la version 28, l'appel d'une fonction réservée à lUI dans une configuration de projet dépourvue d'affichage est détecté et signalé par une erreur de compilation. En effet un tel appel pouvait allouer des ressources inutiles ou provoquer une instabilité.


Ainsi l'appel d'une fonction liée à l'UI à partir d'un code exécuté dans :

  • un webservice hébergé par le serveur d'application de WEBDEV sous Windows ou Linux,
  • une serveur de websocket,
  • un service sous Windows ou Linux,

Provoque à partir de la version 28 une erreur de compilation de la forme : 


La fonction <Nom fonction WLangage> n'est pas disponible pour la cible 'Webservice'.

Vous pouvez désactiver le code pour la configuration courante grâce à une condition de compilation

(<COMPILE SI ...>).


L'erreur de compilation donne la solution, l'appel qui dans tous les cas ne faisait rien puisque le traitement n'avait pas d'interface, peut être placé dans l'instruction de compilation <COMPILE SI> : 

https://doc.pcsoft.fr/fr-FR/?1510021&name=instruction_compilation_compile


Si dans un cas exceptionnel l'erreur de compilation apparaissait dans un contexte qui ne semble pas pertinent, n'hésitez pas à la signaler au Support Technique Gratuit pour contrôle : 

https://www.pcsoft.fr/st/ecrst.htm