lavekkia 发表于 2022-7-6 06:38:48

从DCL调用两次命令

大家好,
 
有人能解释一下为什么这段代码吗
 
(defun provablk(/)
(命令“_regen”)
(命令“_regen”)
)
 
崩溃AutoCAD?!?!?
 
从命令行调用相同的代码,但通过action\u tile调用时挂起AutoCAD;似乎调用的命令不相关
我发现注释掉第二行但调用两次该函数也会挂起AutoCAD。
我定义了一个自定义错误处理程序,但似乎没有效果
 
我有AutoCAD 2012,没有service pack
 
提前感谢
 
亚历山德罗·达米亚尼

lavekkia 发表于 2022-7-6 07:21:08

我找到了原因:
 
http://softdraft.info/autolisp/command-function/
 
根据此页面,当在对话框内调用时,(命令“…”)保留挂起状态(请参阅页面底部)。我会试着做一点实验,但我想我已经找到了解决办法。
我希望这能帮助任何有这个问题的人。
 
顺致敬意,
亚历山德罗·达米亚尼

MSasu 发表于 2022-7-6 08:02:51

正如您已经发现的那样,DCL对话框是模态的,因此当DCL窗体处于活动状态时,您不能使用与屏幕交互的AutoCAD命令。对于无模式对话框,您可能需要查看OpenDCL工具。或者,作为解决方法,在屏幕上执行操作时临时隐藏DCL表单,然后立即恢复。
页: [1]
查看完整版本: 从DCL调用两次命令