DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions diverses WINDEV
  • Désactivation de la technologie JITc
  • Optimisation des appels externes
  • Gestion des erreurs
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
Permet de :
  • connaître et/ou modifier le comportement de l'application / du site, lorsque certaines erreurs sont générées. Selon le mode d'exécution sélectionné, ces erreurs peuvent être ignorées, ou générer des messages d'erreur. Dans certains cas, la fonction ModeExécution permet de retrouver le comportement de WINDEV 5.5.
  • optimiser l'appel aux fonctions déclarées en externe. Permet d'optimiser la vitesse d'exécution de l'application dans 2 cas :
    • Procédures déclarées en externes
    • Codes compilés dynamiquement, appel d'une procédure globale ou locale du projet.
  • savoir et/ou modifier le mode d'utilisation de la technologie JITc par l'application. La technologie JITc est utilisée par défaut par l'application. Il est uniquement possible de la désactiver.
  • connaître et/ou modifier le mode de gestion des références faibles pour tous les objets instanciés.
Exemple
// Mode test ?
SI EnModeTest() = Vrai ALORS
ModeExécution(modeNormal)
SINON
// On applique le mode de comportement de WINDEV 5.5
// pour éviter l'affichage de certaines erreurs
ModeExécution(modePermissif)
FIN
Syntaxe

Récupérer le mode d'exécution en cours Masquer les détails

<Résultat> = ModeExécution()
<Résultat> : Combinaison de constantes de type Entier
Mode d'exécution actuel de l'application ou du site :
AppelsExternesOptimisésOptimise la gestion des appels externes de procédures. Ce paramètre est combiné avec une des deux constantes suivantes.
WEBDEV - Code Serveur Cette constante n'est pas disponible.
DésactiveExécutionOptimiséeLa technologie JITc (Just In Time compilation) est désactivée.
ForceDestructeurObjetNonDynamiqueForce la destruction des objets non dynamiques (même si une référence forte a été prise).
modeAncienFonctionnementDuréeLes propriétés du type Durée conservent le fonctionnement de la version 12.
modeNormalLes erreurs rencontrées génèrent des messages d'erreur.
modePermissifLes erreurs rencontrées sont ignorées (mode WINDEV 5.5 ou WEBDEV 1.5).

Modifier le mode d'exécution en cours Masquer les détails

<Résultat> = ModeExécution(<Nouveau mode d'exécution>)
<Résultat> : Constante de type Entier
Mode d'exécution de l'application ou du site après modification.
AppelsExternesOptimisésOptimise la gestion des appels externes de procédures. Ce paramètre est combiné avec une des deux constantes suivantes.
WEBDEV - Code Serveur Cette constante n'est pas disponible.
DésactiveExécutionOptimiséeLa technologie JITc (Just In Time compilation) est désactivée.
ForceDestructeurObjetNonDynamiqueForce la destruction des objets non dynamiques (même si une référence forte a été prise).
modeAncienFonctionnementDuréeLes propriétés du type Durée conservent le fonctionnement de la version 12.
modeNormalLes erreurs rencontrées génèrent des messages d'erreur.
modePermissifLes erreurs rencontrées sont ignorées (mode WINDEV 5.5 ou WEBDEV 1.5).
<Nouveau mode d'exécution> : Constante de type Entier
Nouveau mode d'exécution à appliquer.
AppelsExternesOptimisésOptimise la gestion des appels externes de procédures. Ce paramètre est combiné avec une des deux constantes suivantes.
WEBDEV - Code Serveur Cette constante n'est pas disponible.
DésactiveExécutionOptimiséeDésactive la technologie JITc (Just In Time compilation).
ForceDestructeurObjetNonDynamiqueForce la prise de référence faible pour tous les objets.
modeAncienFonctionnementDuréeLes propriétés du type Durée conservent le fonctionnement de la version 12.
modeNormalLes erreurs rencontrées génèrent des messages d'erreur.
modePermissifLes erreurs rencontrées sont ignorées (mode WINDEV 5.5 ou WEBDEV 1.5)
Remarques
WINDEVEtats et RequêtesCode Utilisateur (MCU)

Désactivation de la technologie JITc

Pour désactiver la technologie JIT dans une application, il est conseillé d'utiliser la fonction ModeExécution avec la constante DésactiveExécutionOptimisée dans le code d'initialisation du projet. Dans ce cas, seuls les éléments chargés avant l'exécution du code d'initialisation du projet (composants, collections de procédures, classes) utiliseront la technologie JITc.
Pour désactiver la technologie JITc pour une application WINDEV (suspicion d'un problème lié à la technologie JITc par exemple), il est conseillé de modifier (ou de créer) le fichier <Nom de l'exécutable>.WX. Ce fichier doit être placé à côté de l'exécutable de l'application et doit contenir les informations suivantes :
[WD_EXECUTION]
OPTIM_EXECUTION=0

Optimisation des appels externes

Attention : Lorsqu'un projet est migré depuis la version 5.5, le mode permissif a été automatiquement ajouté lors de la migration dans le code d'initialisation du projet. Pour prendre en compte l'optimisation des appels externes, il est nécessaire d'indiquer la ligne de code suivante :
ModeExécution(modePermissif + AppelsExternesOptimisés)

Gestion des erreurs

Le tableau ci-dessous présente le comportement de l'application en fonction des erreurs rencontrées :
Cas d'erreurModePermissifModeNormal
Lecture d'un indice hors borne d'un champ Table, Liste ou Combo.
Exemples :
s = ListeA[-1]
n = ListeB[56]..Couleur
Le programme retourne '0' ou une chaîne vide ("") selon la propriété utilisée.Une erreur d'exécution s'affiche.
Exemple :
"L'indice spécifié [-1] est invalide"
Écriture dans un indice négatif d'un champ Liste, Table ou Combo.
Exemple :
Liste[-1] = "Dupont"
La ligne de code est ignoréeUne erreur d'exécution s'affiche.
Exemple :
"L'indice spécifié [-1] est invalide"
Écriture dans un indice trop grand d'un champ Liste, Table ou Combo.
Exemple :
LISTE[54] = "Dupont"
Un élément vide est inséré à la fin du champ Liste et prend la valeur indiquée.Une erreur d'exécution s'affiche.
Exemple :
"L'indice spécifié [54] est invalide"
Utilisation des fonctions Ouvre, OuvreFenêtreMobile, OuvreFille, OuvreSoeur avec un nom de fenêtre possédant des espaces supplémentaires.
Exemple :
Ouvre("FEN1 ")
Les espaces supplémentaires sont supprimés.Une erreur d'exécution s'affiche.
Exemple :
"La fenêtre 'FEN1 ' est introuvable"
Utilisation des fonctions de gestion des menus contextuels et déroulants avec un numéro de menu inexistant.
Exemple :
MenuMarque(FEN1, 54645)
La fonction renvoie '0' et la fonction ErreurInfo est renseignée.Une erreur d'exécution s'affiche.
Exemple :
"L'option de menu spécifiée [54645] n'existe pas dans le menu"
Utilisation des fonctions Droite et Gauche avec un nombre de caractères à extraire négatif.
Exemple :
Gauche("abcdef", -1)
La fonction renvoie une chaîne vide ("").La fonction renvoie EOT et la fonction ErreurInfo est renseignée.
Utilisation de la fonction Milieu avec une position de départ négative et/ou un nombre de caractères à extraire négatif.
Exemple :
Milieu("abcdef", -2, -4)
La fonction :
  • commence l'extraction au début de la chaîne si la position de départ est négative.
  • renvoie la chaîne source complète.
La fonction renvoie EOT et la fonction ErreurInfo est renseignée.
Composante : wd290vm.dll
Version minimum requise
  • Version 9
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