Bonjour à tous,
Je rencontre un petit problème avec mon programme LISP qui contient une liste déroulante en DCL.
Mon programme demande le type d'armature sous forme de liste "cadre, épingle, coupleur etc."
Puis après il est censé ajouter des blocs d'armatures mais une fois que la boite de dialogue se referme j'ai ce message d'erreur : ; erreur: type d'argument incorrect: stringp nil
"unable to get debug break position on a null text buffer"
Pouvez-vous me dire ce que cela signifie ?
Je vous laisse le programme et la boite de dialogue ci dessous :
(defun c:Dessin_des_armatures ()
(setq id (load_dialog "Boitearmatures.dcl"))
(new_dialog "armaturesboite" id)
(setq nom_arm 0)
(if (or (= nom_arm nil) (= nom_arm ""))
(set_tile "cléname" nom_arm)
(set_tile "cléname" ""))
(action_tile "accept" "(fonctionok)")
(action_tile "cancel" "(fonctionannuler)")
(start_dialog)
(setq nom_arm (atoi (get_tile "cléname")))
((= nom_arm 0) (command "-insert" "ARM-CADRE HA" p1 1 1))
((= nom_arm 1) (command "-insert" "ARM-COUPLEUR HA" p1 1 1))
((= nom_arm 2) (command "-insert" "ARM-EPINGLE HA" p1 1 1))
((= nom_arm 3) (command "-insert" "ARM-U HA" p1 1 1))
(defun fonctionok ()
(setq nom_arm (atoi (get_tile "cléname")))
(done_dialog))
(defun fonctionannuler ()
(done_dialog)
(exit)
)
)
armaturesboite : dialog {
label = "Dessin des armatures";
: column {
:list_box
{
label = "Type d'armature";
key = "cléname";
list = "Cadre\nCoupleur\nEpingle\nU";
width = 15;
height = 8;
}
: row {
: button {
label = "OK";
is_default = true;
key = "accept";
}
: button {
label = "Annuler";
is_default = false;
is_cancel = true;
key = "cancel";
}
}
}
}
En vous remerciant par avance 🙂