chbddzx12 发表于 2015-1-31 00:47:06

对话框问题 求助!~~~

模仿论坛的帖子,做了个对话框文件。现在这个对话框执行命令后,有几个问题,请前辈们帮我看看
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:命令的形式呢?


下面是附件

ZZXXQQ 发表于 2015-1-31 08:18:19

1、程序中对话框返回值不要为1,因为1是退出对话框标记;
2、AutoCAD规定command的嵌套不能超过4层。你用command调用的命令中还有command,所以出错。
记得论坛Gu_xl版主有贴子解决这个问题。

chbddzx12 发表于 2015-1-31 10:20:00

那怎么改,能帮我改下么?谢谢了

ZZXXQQ 发表于 2015-1-31 10:56:00

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版主的贴子

chbddzx12 发表于 2015-1-31 12:51:38

哦,这样啊,我晚上回去事实看,谢谢啊~~~

sutai 发表于 2015-1-31 20:50:45

菜到一塌糊涂,尝试回答一下
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:47





chbddzx12 发表于 2015-2-1 20:51:57

xyp1964 发表于 2015-2-1 13:44 static/image/common/back.gif


您的代码很简便,但有的我不知道改怎么改。。。谢谢

chbddzx12 发表于 2015-2-1 20:54:37

ZZXXQQ 发表于 2015-1-31 10:56 static/image/common/back.gif
(done_dialog 1)~(done_dialog 6)
改成
(done_dialog 2)~(done_dialog 7)


谢谢,这样是可以了。只是点击的命令运行完后还是要弹出对话框啊

sutai 发表于 2015-2-1 21:42:23

怎么用了(command "zhdm") (c:zhdm 2)这段代码要先弹no function definition才接着运行程序呢?

no function definition-是你没有先加载你要用的那个程序。
我不是高手,只是也曾碰到过这个4层嵌套的问题,所以建议一下,你多试试,总会找到办法的。
页: [1] 2
查看完整版本: 对话框问题 求助!~~~