明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2009|回复: 3

我用popup_list ,为什么选第一个无效??

[复制链接]
发表于 2003-5-28 21:12:00 | 显示全部楼层 |阅读模式
详细:
(new_dialog "gear" (load_dialog "gear.dcl"))
      (start_list "mod")     
      (setq modshu '("1" "1.25" "1.5" "2" "2.5" "3" "4" "5" "6" "8" "10" "12" "16" "20" "25" "32" "40" "50"))
      (mapcar 'add_list modshu)
      (end_list)
  
      (action_tile "mun" "(setq n1 $value)")
  (action_tile "mod" "(setq mod1 $value)")
  (action_tile "hight" "(setq gh1 $value)")
  (action_tile "d" "(setq d11 $value)")
  (start_dialog)
  (if (= 0 (start_dialog))
       (setq     mod2 (atoi mod1)
                 od (nth mod2 modshu)
                 mod (atof od)
                 n (atoi n1)
                 gh (atof gh1)
                 d1 (atof d11)
                         )
                  )

dcl文件:
gear:dialog {
label="齿数";
:edit_box {
label="输入齿数";
key="mun";
edit_width=8;
}
:popup_list {
label="模数";
key="mod";
edit_width=8;
}
:edit_box {
label="厚度";
key="hight";
edit_width=9;
}
:edit_box {
label="小圆半径";
key="d";
edit_width=9;
}
ok_button;
}
 楼主| 发表于 2003-5-28 21:18:00 | 显示全部楼层

每次

每次选首先选1 都会有error: bad argument type: stringp nil

选2或者之后的就没有问题,在选1也没问题,但是那个mod的值是前一次选的值
大家帮忙看看~~谢谢
 楼主| 发表于 2003-5-28 21:23:00 | 显示全部楼层

我有新发现

就算第一次选1 都要点一下下拉菜单,再选1
就有效
发表于 2003-5-29 08:48:00 | 显示全部楼层

因为你是在(action...)中给MOD1付值的,如果不点,就没有动作,MOD1为空,就出错。

建议你在编程是做一些出错处理,比如调用对话框失败、付值未符合要求等的错误处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 13:45 , Processed in 0.178395 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表