Pourquoi l'option ANNULER annule-t-elle trop d'opérations ?

Symptômes - Bas

Une étape d'annulation annule beaucoup plus d'opérations que prévu. Il peut être possible, ou non, de réinstaurer et de récupérer les étapes perdues.

Cause

La cause en est inconnue, mais en termes généraux, il y a un décalage entre les marqueurs de début et de fin, et ce décalage sera déclenché par une opération très spécifique. ANNULER s'appuie sur ces marqueurs de début et de fin et il est essentiel qu'ils ne soient pas corrompus.

L'option ANNULER ne permet pas d'annuler la création d'entités à partir d'une session précédente. Si les entités d'une session précédente sont effacées, il ne s'agit pas d'un problème d'annulation excessive.

Solution

Démarrer le programme en Mode sans échec.

Si le problème disparaît en mode Mode sans échec, il peut être utile de repasser en mode normal et de désactiver ou désinstaller les plugins et les personnalisations pour identifier le coupable.

Si le problème persiste, activez le diagnostic pour en savoir plus :

  • Définissez QAFLAGS=256 (activation du message de la cmd). Cela permet d'annuler le diagnostic.

    Une invite indique à l'utilisateur que l'historique des commandes a été corrompu.

  • Lorsque le programme émet une alerte à propos de l'historique des commandes, lancez DUMPSTATE sur la ligne de commande. Cette opération permet d'écrire un rapport dans le dossier de démarrage. Envoyez-nous le rapport.
  • Définissez LOGFILEMODE = 1 et répétez les étapes pour reproduire le problème. La variable système LOGFILEMODE contrôle la génération des fichiers journaux de BricsCAD qui conservent chaque commande exécutée. Ces fichiers journaux sont enregistrés dans le dossier spécifié par la variable système LOGFILEPATH.
Note:

Il convient de faire la distinction entre différentes comportements  :

  • l'historique des commandes est corrompu, ce qui entraîne une action trop importante de la fonction Annuler ;
  • la commande ANNULER supprime une grande partie du dessin, y compris les entités d'une session précédente ;
  • la commande ANNULER ne fonctionne pas ;
  • la commande ANNULER ignore intentionnellement ou non, certaines fonctions (il ne s'agit pas d'un défaut du mécanisme d'annulation, mais simplement d'une opération qui n'est pas enregistrée auprès de la commande) ;
  • la commande ANNULER échoue ;
  • certaines fonctions sont annulées correctement, mais il manque une mise à jour de l'écran.

Cet article ne traite que des trois premiers points.