对话框问题 求助!~~~
模仿论坛的帖子,做了个对话框文件。现在这个对话框执行命令后,有几个问题,请前辈们帮我看看1;点击按钮执行程序后,自动又回到对话框的界面。怎么不让它在我重新调用才弹出来?
2:我用的南方cass,调用内部编码几次后,出现:命令嵌套深度不能超过4层,该怎么解决呢?file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/305315101/QQ/WinTemp/RichOle/M3$0P9DU0P853J7ZMYR%607NR.png
3;为什么我按钮对应的命令不在本lsp就不能用,必须改成c:命令的形式呢?
下面是附件
1、程序中对话框返回值不要为1,因为1是退出对话框标记;
2、AutoCAD规定command的嵌套不能超过4层。你用command调用的命令中还有command,所以出错。
记得论坛Gu_xl版主有贴子解决这个问题。 那怎么改,能帮我改下么?谢谢了 chbddzx12 发表于 2015-1-31 10:20 static/image/common/back.gif
那怎么改,能帮我改下么?谢谢了
(done_dialog 1)~(done_dialog 6)
改成
(done_dialog 2)~(done_dialog 7)
后面的判断同改。
搜下Gu_xl版主的贴子 哦,这样啊,我晚上回去事实看,谢谢啊~~~ 菜到一塌糊涂,尝试回答一下
1、去掉WHILE,这个循环是用来自动回到对话框的。另外按照斑竹ZZXXQQ的改法,另加一个(action_tile "accept" "(done_dialog 1)")——这个与确定按钮几乎就是左眼和右眼,生来就是一对,当然,独眼龙除外~
2、嵌套深度不能超过4层,试试这样:
(defun zhdsj ()
(command "zhdm")
(c:zhdm 2)
)
3、什么情况?你在(action_tile "6" "(done_dialog 7)")里直接(setvar "osmode" 16382)就行了,干吗还要C:?
如果点了就退出则(action_tile "6" "(setvar "osmode" 16382) (done_dialog 1)")
如果点了不退出则(action_tile "6" "(setvar "osmode" 16382)")
我也算菜鸟,呵呵,说的不对还请海涵~~~
xyp1964 发表于 2015-2-1 13:44 static/image/common/back.gif
您的代码很简便,但有的我不知道改怎么改。。。谢谢 ZZXXQQ 发表于 2015-1-31 10:56 static/image/common/back.gif
(done_dialog 1)~(done_dialog 6)
改成
(done_dialog 2)~(done_dialog 7)
谢谢,这样是可以了。只是点击的命令运行完后还是要弹出对话框啊 怎么用了(command "zhdm") (c:zhdm 2)这段代码要先弹no function definition才接着运行程序呢?
no function definition-是你没有先加载你要用的那个程序。
我不是高手,只是也曾碰到过这个4层嵌套的问题,所以建议一下,你多试试,总会找到办法的。
页:
[1]
2