DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Erreurs / Erreurs WLangage
  • Cause
  • Conseil
  • Exemples
  • 1. Utilisation de l'instruction BOUCLE sans instruction SORTIR
  • 2. Utilisation de l'instruction TANTQUE sans condition et sans instruction SORTIR
  • 3. Boucle utilisée pour récupérer des informations sur un port série
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Warning 18 : Boucle sans fin potentielle
Cause
Vous utilisez dans le code en cours une instruction répétitive de type BOUCLE ou TANTQUE. Dans ce code, aucune instruction n'est utilisée pour forcer la sortie de la boucle : il y a risque de bouclage infini.
Conseil
Vérifiez que votre boucle n'est pas infinie, et qu'il est possible de forcer la sortie du bloc d'instructions (utilisation de l'instruction SORTIR par exemple).
Exemples

1. Utilisation de l'instruction BOUCLE sans instruction SORTIR

Code provoquant le warning
BOUCLE
// lecture d'une ligne du fichier texte
UneLigne = fLitLigne(NumFic)
TraiteLigne(UneLigne)
FIN
Correction proposée
Ajoutez une ligne permettant de traiter la sortie de la boucle (dans cet exemple, code permettant de savoir si la fin du fichier est atteinte).
BOUCLE
// lecture d'une ligne du fichier texte
UneLigne = fLitLigne(NumFic)
SI UneLigne = EOT ALORS SORTIR
TraiteLigne(UneLigne)
FIN

2. Utilisation de l'instruction TANTQUE sans condition et sans instruction SORTIR

Code provoquant le warning
TANTQUE UneLigne<>EOT
// lecture d'une ligne du fichier texte
UneLigne = fLitLigne(NumFic)
TraiteLigne(UneLigne)
FIN
Correction proposée
Ajoutez une ligne permettant de traiter la sortie de la boucle (dans cet exemple, code permettant de savoir si la fin du fichier est atteinte).
TANTQUE UneLigne<>EOT
// lecture d'une ligne du fichier texte
UneLigne = fLitLigne(NumFic)
SI UneLigne = EOT ALORS SORTIR
TraiteLigne(UneLigne)
FIN
WINDEVWEBDEV - Code ServeurWINDEV MobileWindowsConnecteurs Natifs (Accès Natifs)

3. Boucle utilisée pour récupérer des informations sur un port série

Code provoquant le warning
// Événement appelant une procédure.
// Dans cette procédure, utilisation de la fonction FinProgramme
BOUCLE
// Traitement en boucle pour récupérer les informations
Multitâche()
FIN
Correction proposée
Aucune correction n'est nécessaire. La fonction FinProgramme permet de terminer le traitement.
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale