明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1548|回复: 3

帮帮忙,不知为何DCL对话框调试没反应。(已解决)

[复制链接]
发表于 2009-5-10 15:56:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-5-11 14:47:25 编辑

YC.DCL
  1. test:dialog {
  2.     label=" 批量修改文件 ";
  3.     :row {
  4.         :button {
  5.             fixed_width = true ;
  6.             label = "目录" ;
  7.             width = 10 ;
  8.             key = "Sel" ;
  9.         }
  10.     }
  11.    ok_cancel;
  12. }
YC.LSP
  1. (defun c:YC()
  2.   ;;load dcl file
  3.   (if (>(setq index-value (load_dialog "YC")) 0);装载DCL文件
  4.     (progn  ;大于0 正确
  5.       (if (new_dialog "test" index-value);显示对话框
  6. (progn
  7.    (start_dialog);;激活
  8.    (mode_tile "Sel" 2)
  9.    (action_tile "Sel" "(drawline)")
  10.    
  11. ); end progn
  12. (alert " 不能显示对话框")
  13.       );end if  
  14.     );end progn
  15.     (alert "不能装载")
  16.   );end if load
  17.   (princ)
  18. );end defun
  19. (defun drawline()
  20.   (setq p1 (list 0 0 ) p2 (list 10 10 ))
  21.    (command "line" p1 p2 "")
  22. )
不知为何,就是不画线。点按钮没有任何反应!

(start_dialog);;激活
应靠后放
发表于 2009-5-10 21:40:00 | 显示全部楼层
本帖最后由 作者 于 2009-5-11 7:33:17 编辑
  1. test:dialog {
  2. label=" 批量修改文件 ";
  3. :row {
  4.   :button {
  5.    fixed_width = true ;
  6.    label = "目录" ;
  7.    width = 10 ;
  8.    key = "Sel" ;
  9.   }
  10. }
  11. ok_cancel;
  12. }
  1. (defun c:YC()
  2. (if (> (setq index-value (load_dialog "YC")) 0);装载DCL文件
  3. (progn  ;大于0 正确
  4.   (if (new_dialog "test" index-value);显示对话框
  5.    (progn
  6.      (mode_tile "Sel" 2)
  7.      (action_tile "Sel" "(done_dialog 2)")
  8.      (action_tile "cancel" "(done_dialog 0)")
  9.      (action_tile "accept" "(done_dialog 1)")
  10.      (setq re (start_dialog));;激活
  11.     ); end progn
  12.     (alert "不能显示对话框")
  13.    );end if
  14.    (unload_dialog index-value)
  15.   );end progn
  16.   (alert "不能装载")
  17. );end if load
  18. (if (= re 2) (drawline))
  19. (princ)
  20. );end defun
  21. (defun drawline ()
  22. (setq p1 (list 0 0) p2 (list 10 10))
  23. (command "line" p1 p2 "")
  24. )
发表于 2009-5-11 01:26:00 | 显示全部楼层

对话框没卸载之前是不能调用command的

 楼主| 发表于 2009-5-11 11:12:00 | 显示全部楼层
  1. (defun    c:YC()
  2.    ;;load dcl file
  3.    (if    (>(setq index-value (load_dialog    "YC"))    0);装载DCL文件
  4.      (progn  ;大于0 正确
  5.        (if    (new_dialog    "test" index-value);显示对话框
  6.   (progn
  7.     (start_dialog);;激活
  8.     (mode_tile    "Sel"    2)
  9.     (action_tile    "Sel"    "(drawline)")
  10.    
  11.   ); end progn
  12.   (alert    " 不能显示对话框")
  13.        );end if  
  14.      );end progn
  15.      (alert    "不能装载")
  16.    );end if load
  17.    (princ)
  18. );end defun
  19. (defun    drawline()
  20.    (setq p1 (list    0 0 ) p2 (list    10 10 ))
  21. )   
但这样也不行,P1 P2没有赋值。
改成这样也不行
(action_tile    "Sel"    "(setq a 1)")
a也没得到赋值

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

本版积分规则

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

GMT+8, 2024-9-28 18:22 , Processed in 0.164937 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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