明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1690|回复: 5

[已解答] 求助,关于done_dialog

[复制链接]
发表于 2014-3-18 19:50:50 | 显示全部楼层 |阅读模式

我做了一个有二级对话框的程序,但是出现了一个很奇怪的情况,每次当第一个对话框(工程信息)执行个n次后
第二个对话框(材料清单)点击按钮(非确认取消按钮)执行操作,这时候操作能顺利执行,
但done_dialog却好像被忽略掉似的,得操作n次才能关闭,初步怀疑跟done_dialog后面的参数有关系,
但始终百思不得其解,请问各位有没有遇到类似的相关经验,希望能不吝赐教,感激不尽。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-3-18 20:35:04 来自手机 | 显示全部楼层
代码贴上来,别人才好诊断。
 楼主| 发表于 2014-3-18 22:39:03 | 显示全部楼层
D:\Program Files\Materials解压到这个目录下,主程序命令tts

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-3-19 08:42:40 | 显示全部楼层
(defun 工程信息 ()

        (setvar "cmdecho" 0)
        (setq PM_dcl_id (load_dialog "工程信息" ));加载对话框
        (if (not (new_dialog "工程信息" PM_dcl_id))
                (progn (alert "不能装入对话框" ) (exit))
        );end if
        (PM_getvar);从内存获取之前设定过的变量值
        (action_tile "accept" "(PM_setvar)" );确认按钮,执行(PM_setvar)
        (action_tile "PM_Command1" "(PM_Command1)" );按钮(图纸目录),执行(PM_Command1)
        (action_tile "PM_Check1" "(make_dirs)" );勾选栏,执行(make_dirs)
        (setq 指定目录 nil new_PM_path nil)
        (start_dialog);启动对话框
        (while 指定目录
                (setq new_PM_path (qf_getFolder "选择文件夹:" ))
                (new_dialog "工程信息" PM_dcl_id)
                (PM_getvar);从内存获取之前设定过的变量值
                (action_tile "accept" "(PM_setvar)" );确认按钮,执行(PM_setvar)
                (action_tile "PM_Command1" "(PM_Command1)" );按钮(图纸目录),执行(PM_Command1)
                (action_tile "PM_Check1" "(make_dirs)" );勾选栏,执行(make_dirs
                (setq 指定目录 nil)
                (start_dialog);;选择目录后返回工程信息对话框
        );end while
        (done_dialog)
        (unload_dialog PM_dcl_id);卸载对话框
        (setvar "cmdecho" 1)
        (C:TTS)
        (princ)
)
;;看上面一段,好象有些问题
通常(action_tile "accept" "(PM_setvar)" );这名对话框消失,但些时没有卸载。这句一般是这样写的(action_tile "accept" "(done_dialog 1)"),这个参数1就传递给了PM_dcl_id,根据PM_dcl_id的值为1,说明是击的确定按钮,执行...
你在while中,(start_dialog)不断产生对话框?
 楼主| 发表于 2014-3-20 12:17:03 | 显示全部楼层
while里的 (start_dialog)对应的(done_dialog)其实是程序结尾的那个 或者点击按钮“图纸目录”按钮执行的(PM_Command1)里面的(done_dialog),"工程信息"里的new_dialog 和unload_dialog都对应只有1个,不参与循环,按道理应该没什么问题,(done_dialog)的1,0,-1三个参数我都试遍了,(term_dialog)也试了,均无法避免那个问题,函数说明似乎也没给出太多的有用信息
 楼主| 发表于 2014-3-23 17:11:31 | 显示全部楼层
问题很莫名其妙地解决了,只要把button2的执行程序挂到button1就不会出现不良反映了,而且只能连接到button1,其他的都不行,至于原因任然搞不清楚

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-25 05:37 , Processed in 0.165233 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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