Aller au contenu

Lisp Mon Debug ne fonction ne pas ???


Messages recommandés

Posté(e)

Bonjour à tous...

 

Je commence à "programmer en Lisp" et voici ma facon de faire.

 

Je code, j'enregistre, je load mon fichier et j'execute ma commande pour voir si ca fonctionne.

Je commence à être fatiguer de faire cette façon.

 

Je me suis donc décidé de regarder l'aide afin d'utiliser le Debug.

 

Mon problème:

Mes icones pour mon debug ne fonctionne pas, elles ne sont pas actives.

J'ai seulement les petite lunette (Add watch) et le point rouge en parenthèse (Last Break)

 

 

Je suis capable d'insérer des Toggle Break Point mais mon bouton "Play" n'est jamais actif...

 

merci de votre aide....

 

P.S. mon aide est en anglais et je ne suis pas très bon en anglais :(

 

 

 

Posté(e)

Si l'interface est récalcitrante, je te conseille de retaper VLISP depuis AutoCAD. Ca reforce l'affichage de la console.

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut,

 

Mon problème:

Mes icones pour mon debug ne fonctionne pas, elles ne sont pas actives.

J'ai seulement les petite lunette (Add watch) et le point rouge en parenthèse (Last Break)

 

Les fonctions de "pas à pas" ne sont actives qu'après avoir spécifié un (ou plusieurs) point d'arrêt et relancé la routine.

Tu peux voir ce sujet.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bonjour gile

Merci pour le lien, il y cretain point qui m'on aidé.

 

Mais je n'y arrive toujours pas.

 

J'ai mis plusieurs Toggle Breakpoint (F9)

J,ai ensuite été dans la fenêtre Visula Lisp Console et taper le nom de ma fonction

(c:Jeff)

 

 

Cela a fait démarrer ma fonction.

En aucun cas, le programme a cesser et aucun bouton est devenu actif pour pouvoir vérifier l'état de mes variables.

J'ai un erreur dans ma fonction et j'ai mis dans le menu Debug - Break on Error et il ne se passe j'amais rien....

 

 

J'ai manqué une étape ???

 

 

merci encore

Posté(e)

Salut.. et oui j'ai juste ca....

 

 

bien je t'ai épargné la suite qui est ce que j'entre au claivier....

 

; error: bad function: "12.3456"

 

Voici le code que j'essais d'utiliser

 

Losrque j'arrive à setq AngleDMS et qu ej'entre 12.3456 j'appuis sur Enter et ERROR

 

J'ai mis des point d'arrete au trois premiere ligne du code pour essayer le debug et le debug n'arrete jamais... :(

 

(defun c:Jeff (/ AngleDMS nb_c result)

 

(setq ptj1 (getpoint "Piquer le Point de Départ:")) ; Prend la coordonnée du premier point

 

(setq AngleDMS (getstring "\n Entrez une Angle DD.MMSS: "))

 

(setq nb_c (strlen AngleDMS))

(setq result

(cond

((= nb_c 6)

(strcat "<"

(substr AngleDMS 1 1)

"d"

(substr AngleDMS 4 2)

"'"

(substr AngleDMS 6 2)

"''"

)

)

((= nb_c 7)

(strcat "<"

(substr AngleDMS 1 2)

"d"

(substr AngleDMS 4 2)

"'"

(substr AngleDMS 6 2)

"''"

)

)

((= nb_c 8)

(strcat "<"

(substr AngleDMS 1 3)

"d"

(substr AngleDMS 4 2)

"'"

(substr AngleDMS 6 2)

"''"

)

)

)

)

 

(princ (AngleDMS)

)

)

 

 

P.S. J'utilise un autre code, je sais que ce code est mauvais, mais j'aimerais comprendre le Debug et non soluitonner ce code...

 

[Edité le 14/10/2009 par jfcantin1977]

Posté(e)

Salut,

 

Le message (complet) :

; error: bad function: "12.3456"

signifie que "12.3456" n'est pas un fonction LISP valide.

 

Effectivement, c'est une chaîne de caractère...

 

L'erreur vient de l'expression :

(princ (angleDMS))

 

Une expression LISP est une liste dont le premier élément est une fonction, les éléments suivants, les arguments requis par cette fonction (voir ici).

 

Pour l'interpréteur LISP toute parenthèse ouvrante doit être suivie d'un symbole auquel est affecté une fonction.

Or dans l'expression (angleDMS) ce n'est pas une fonction mais une chaîne qui est affectée au symbole angleDMS, d'où l'erreur.

 

PS : l'arrêt sur erreur a très bien fonctionné avec ce code.

Rappel de la procédure :

- cocher "Arrêt sur erreur" ("Break on Error")

- retour dans la fenêtre AutoCAD

- exécuter la commande jusqu'à provoquer l'erreur pour que la fenêtre de l'éditeur s'active automatiquement

- faire Ctrl+F9 pour mettre l'expression qui a provoqué l'erreur en surbrillance

- décocher "Arrêt sur erreur" et Réinitialiser (flèche rouge).

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité