PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • 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 WatchCatalystUniversal Windows 10 AppWindows Mobile
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.
  • Versions 15 et supérieures
    connaître et/ou modifier le mode de gestion des références faibles pour tous les objets instanciés.
    Nouveauté 15
    connaître et/ou modifier le mode de gestion des références faibles pour tous les objets instanciés.
    connaître et/ou modifier le mode de gestion des références faibles pour tous les objets instanciés.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 21 et supérieures
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
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.
Versions 15 et supérieures
ForceDestructeurObjetNonDynamique
Nouveauté 15
ForceDestructeurObjetNonDynamique
ForceDestructeurObjetNonDynamique
Force 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.
Versions 15 et supérieures
ForceDestructeurObjetNonDynamique
Nouveauté 15
ForceDestructeurObjetNonDynamique
ForceDestructeurObjetNonDynamique
Force 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).
Versions 15 et supérieures
ForceDestructeurObjetNonDynamique
Nouveauté 15
ForceDestructeurObjetNonDynamique
ForceDestructeurObjetNonDynamique
Force 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, OuvreFille, OuvreSoeur avec un nom de fenêtre possédant des espaces supplémentaires.
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 : wd250vm.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire