version 6.5
La liste des Points d'arrêt sur commandes est une page de l'Explorateur d'exécution qui vous permet d'ajouter des points d'arrêt supplémentaires dans votre code en interceptant des appels aux commandes 4D.
Placer un point d'arrêt sur une commande vous permet de commencer à tracer l'exécution de n'importe quel process dès qu'une commande particulière est appelée par le process. A la différence d'un point d'arrêt placé dans une méthode projet (qui, par conséquent, déclenche le mode trace uniquement lorsqu'il est atteint), l'aire d'action d'un point d'arrêt sur commande comprend tous les process qui exécutent du code 4D et qui appellent cette commande.
Placer un point d'arrêt sur une commande est un moyen pratique de tracer des grandes parties du code sans devoir insérer des points d'arrêt à des emplacements arbitraires. Si, par exemple, l'exécution dans votre code de plusieurs process durant un certain laps de temps provoque l'effacement d'un enregistrement qui ne devrait théoriquement pas être supprimé, vous pouvez limiter le champ d'investigation en plaçant un point d'arrêt sur les commandes telles que SUPPRIMER ENREGISTREMENT et SUPPRIMER SELECTION. A chaque fois que ces commandes sont appelées, vous pouvez vérifier si l'enregistrement en question a été supprimé ou non, et donc isoler la partie fautive du code.
Bien entendu, l'expérience aidant, vous pourrez combiner l'utilisation de points d'arrêt dans les méthodes et sur des commandes.
Pour afficher la liste des Points d'arrêt sur commandes, procédez de la manière suivante :
1. Choisissez Explorateur d'exécution dans le menu Exécution.
La fenêtre de l'Explorateur d'exécution peut être affichée sous forme de palette flottante (pour cela, maintenez la touche Maj enfoncée au moment de sélectionner la commande de menu). L'Explorateur d'exécution est alors disponible dans tous les environnements de 4D. Pour plus d'informations, reportez-vous au manuel Mode Développement.
La fenêtre de l'Explorateur d'exécution apparaît.
2. Cliquez sur le bouton Arrêt sur commande pour afficher la liste des points d'arrêt sur commande :
Cette page liste les commandes à intercepter au moment de leur exécution. Elle est divisée en deux colonnes :
La colonne de gauche indique le statut actif/inactif du point d'arrêt, suivi du nom de la commande.
La colonne de droite affiche la condition optionnellement associée au point d'arrêt.
Ajouter un nouveau point d'arrêt sur commande
Pour ajouter un nouveau point d'arrêt sur une commande, vous disposez de plusieurs possibilités :
cliquer sur le bouton d'ajout (en forme de +) situé au-dessous de la liste.
double-cliquer directement dans la liste.
Dans ces deux cas, une nouvelle entrée est ajoutée dans la liste, avec la commande ALERTE par défaut.
Le libellé ALERTE est automatiquement placé en mode édition, vous pouvez alors saisir le nom de la commande à laquelle vous souhaitez associer un point d'arrêt. Une fois que vous avez terminé, appuyez sur la touche Entrée ou Retour chariot pour valider votre choix.
cliquer dans la liste avec le bouton droit de la souris pour afficher un menu contextuel. Sélectionnez Arrêt sur commande, le menu liste alors toutes les commandes 4D :
Choisissez votre commande parmi les sous-menus des thèmes puis des noms de commandes. Une nouvelle entrée est ajoutée, affichant le nom de la commande sélectionnée.
Modifier un point d'arrêt sur commande
Pour modifier un point d'arrêt sur une commande, procédez de la manière suivante :
1. Sélectionnez le point d'arrêt en cliquant dessus ou en utilisant les touches fléchées pour naviguer dans la liste (s'il n'y a pas déjà un point d'arrêt sélectionné et en mode édition).
2. Pour passer un point d'arrêt du mode sélection au mode édition et inversement, appuyez sur la touche Entrée ou Retour chariot.
3. Saisissez ou modifiez le nom de la commande.
4. Pour valider vos modifications, appuyez sur la touche Entrée ou Retour chariot. Si le nom que vous avez saisi ne correspond pas à une commande 4D existante, le point d'arrêt affiche la valeur précédente. Dans le cas d'une nouvelle entrée, le libellé ALERTE est réaffiché.
Activer/Désactiver un point d'arrêt sur commande
Pour activer ou désactiver un point d'arrêt sur commande, procédez de la manière suivante :
1. Sélectionnez le point d'arrêt en cliquant dessus ou en utilisant les touches fléchées pour naviguer dans la liste (s'il n'y pas déjà un point d'arrêt sélectionné et en mode édition).
2. Choisissez la commande Activer/Désactiver dans le menu contextuel.
Raccourci : Chaque point d'arrêt dans la liste peut être activé/désactivé par un simple clic sur la puce () placée devant son libellé. La puce se transforme en tiret () lorsque le point d'arrêt est désactivé.
Supprimer un point d'arrêt sur commande
Pour supprimer un point d'arrêt sur commande, procédez de la manière suivante :
1. Sélectionnez le point d'arrêt en cliquant dessus ou en utilisant les touches fléchées pour naviguer dans la liste (s'il n'y pas déjà un point d'arrêt sélectionné et en mode édition).
2. Assurez-vous que le point d'arrêt se trouve en mode sélection (appuyez sur la Entrée ou Retour chariot pour passer alternativement du mode édition au mode sélection)
3. Appuyez sur la touche Retour arrière ou cliquez sur le bouton de suppression (en forme de '-') situé sous la liste.
Note : Pour supprimer tous les points d'arrêt, cliquez sur le bouton Supprimer tout (troisième bouton placé sous la liste) ou choisissez la commande Supprimer tout dans le menu contextuel.
Définir une condition pour un point d'arrêt sur commande
Pour définir une condition pour un point d'arrêt sur commande, procédez de la manière suivante :
1. Cliquez dans la colonne de droite en regard du point d'arrêt.
2. Saisissez une formule 4D (expression ou appel de commande ou méthode projet) retournant une valeur booléenne (Vrai ou Faux).
Note : Pour supprimer une condition, effacez la formule correspondante.
Astuces
L'ajout de conditions aux points d'arrêt sur commande ralentit l'exécution du code car la condition est évaluée à chaque fois que le point d'arrêt est rencontré. D'un autre côté, le débogage est plus rapide car 4D ignore automatiquement les occurences qui ne satisfont pas aux conditions.
La désactivation d'un point d'arrêt sur commande produit quasiment le même effet que sa suppression. Lors de l'exécution du code, le débogueur ne passe presque pas de temps sur le point d'arrêt. L'avantage de la désactivation est que vous n'avez pas à redéfinir le point d'arrêt en cas de besoin.