yjrun 发表于 2004-7-25 12:00:00

问一个objectdcl的问题?

在我设计的对话框中我有2个控件,1个确定键执行关闭对话框.另外一个键要求先关闭对话框,后选择对象,最后恢复对话框.


这时如果点确定键就没有反映,点X强行关闭就提示出错.不知道是什么地方出了问题.


打开和关闭对话框我都使用的是下面的函数:


(Odcl_Form_Show "zhongxian" "DclForm1")<BR>               (Odcl_Form_Close "zhongxian" "DclForm1")<BR><BR>

meflying 发表于 2004-7-26 08:22:00

从你的这两句代码看不出任何问题,你最好把所有的都发上来

yjrun 发表于 2004-7-26 08:46:00

我写得2个控件的代码:


;;;;;;;;; "选取中线" 键的函数代码<BR>(defun c:DclForm1_GraphicButton1_OnClicked (/ ss loop vla_line ed)


       (Odcl_Form_Close "zhongxian" "DclForm1") ;关闭对话框来进行选择<BR>       (setq loop t)<BR>       (while loop<BR>                       (setq ss (entsel)                        ;获得中线对象<BR>               ss (car ss)                        ;ss为图元名<BR>                       )<BR>                       (setq ed (entget (setq e ss)))        ;ed为对象信息<BR>                       (if        (/= (cdr (assoc 0 ed)) "LWPOLYLINE") ;判断中线是否是pline<BR>                                       (progn<BR>        (prompt "\n")


        (Odcl_MessageBox "Entity selected is not a pline,retry")


        (setq loop t)<BR>                                       )<BR>                                       (setq loop nil)<BR>                       )<BR>       )                                        ;end while


(Odcl_Form_show zhongxian_DclForm1) ;显示对话框<BR>       


)


;;;;;;;;; "确定" 键的函数代码<BR>(defun c:DclForm1_TextButton2_OnClicked        ()<BR>       (Odcl_Form_Close "zhongxian" "DclForm1")                                                )

meflying 发表于 2004-7-26 09:43:00

既然你不愿意多发点东西上来,我也没办法了,

yjrun 发表于 2004-7-26 16:06:00

什么啊,我只是刚开始学,


代码只写了这么点.学习阶段没有必要搞的那么复杂吧!!

meflying 发表于 2004-7-26 16:44:00

就这些代码是无法显示OBJECTDCL对话框的,你给的只是对话框两个控件的动作函数,


另外,你的ODC文件也没有给出来,虽然这些我的可以自己做,但你既然有,为什么还要别人再做一遍?


这不是复杂不复杂的问题,而是完整的问题。。。

yjrun 发表于 2004-7-26 17:11:00

哦,明白了.那我把那几个文件打包了上传上来.

yjrun 发表于 2004-7-26 17:12:00

第一次发问题贴.有什么不对的请见谅

meflying 发表于 2004-7-26 18:04:00

是Odcl_Form_Show 的问题,在使用Odcl_Form_Close时开始的Odcl_Form_Show并未结束,这时你又使用一次Odcl_Form_Show,就导致问题了,


你可以试试使用Hide方法看看

yjrun 发表于 2004-7-27 09:16:00

哦,明白了.不过问一下hide方法在哪?intelligent help里面的函数里面没有hide方面的函数.


我想了个方法,在选取中线的函数里面不再打开对话框,只是设置一个变量choice=1


在audimch函数里面加:


(if (= choice 1)<BR>                       (progn<BR>                                       (Odcl_Form_show zhongxian_DclForm1)        ;在选取中线后显示对话框<BR>                                       (setq choice 0)                                                                       ;choice为在选取中线后设置的判断变量<BR>                       )<BR>       )


我测试过好像没有问题.不知道可否?


再就是对(Odcl_Form_Center "zhongxian" "DclForm1")不明白,函数不是让对话框居中显示吗?但实际上每次他都是显示在上次关闭时对话框所在的位置.这是怎么回事?
页: [1] 2
查看完整版本: 问一个objectdcl的问题?