HGHG011 发表于 2014-5-8 23:13:34

求问dcl问题,最近做了2个lisp都带dcl,但两不能同时启动

求问dcl问题,最近做了2个lisp都带dcl,但两不能同一图中使用,先运行哪一个,另一个就 出现   参数类型错误: stringp nil
一直找不到原因,求高手指点啊 谢谢了~~~

lsjj 发表于 2014-5-9 06:15:54

副程序同名

byghbcx 发表于 2014-5-9 07:57:41

对话框不能同时出现,要隐藏掉一个,再调用另一个

HGHG011 发表于 2014-5-9 09:21:29

lsjj 发表于 2014-5-9 06:15 static/image/common/back.gif
副程序同名

没有重名啊大神能指出来吗?

HGHG011 发表于 2014-5-9 09:22:10

byghbcx 发表于 2014-5-9 07:57 static/image/common/back.gif
对话框不能同时出现,要隐藏掉一个,再调用另一个

那程序应该怎么写呢? 求助啊

lsjj 发表于 2014-5-9 10:27:20

(Defun S_RECT()...

HGHG011 发表于 2014-5-9 11:56:40

lsjj 发表于 2014-5-9 10:27 static/image/common/back.gif
(Defun S_RECT()...

谢谢大神,您的意思是所有加载的lisp内的副程序都不能一样吗? 我一个lisp声明的副程序在另一lisp里不用声明直接可以用,可以这么理解吗?

不过 我把 S_RECT 改成 S_RECTS报错“; 错误: no function definition: S_RECTS”
这个怎么破 明明有这个副程序啊?

大神受累再指点一下啊

lsjj 发表于 2014-5-9 12:44:40

先解決問題,你的程序沒改到定義S_RECT的地方

以你提供的程序為例
問題不在是否2個LISP在同一圖檔使用,在於你加載程序先後的關係
若每次使用前各別加載,是不會有異常的
同時加載程序,二個程序中都有DEFUN S_RECT(),以後加載為準
如果樓梯.LSP是後加載,先執行樓梯是正常的,再執行ltpm,是以樓梯定義的S_RECT為準

xyp1964 发表于 2014-5-9 13:06:02

dcl文件里别用大写字母

HGHG011 发表于 2014-5-9 14:23:54

lsjj 发表于 2014-5-9 12:44 static/image/common/back.gif
先解決問題,你的程序沒改到定義S_RECT的地方

以你提供的程序為例



(defun c:cx ()
(SETQ DCL_ID (LOAD_DIALOG "E:\\快盘\\x 学习\\lisp\\ltpm.DCL"))
(NEW_DIALOG "RECT_ltpm" DCL_ID)
(ACTION_TILE "accept" "(s_rects)(DONE_DIALOG)")   ;参数接受


(DEFUN s_rects()(SETQ
TMP_tbkd_1 (ABS (ATOF (GET_TILE "RECT_tbkd_1")))
TMP_tbkd_2 (ABS (ATOF (GET_TILE "RECT_tbkd_2")))
TMP_tbkd_3 (ABS (ATOF (GET_TILE "RECT_tbkd_3")))
TMP_tbkd_4 (ABS (ATOF (GET_TILE "RECT_tbkd_4")))
TMP_tbqd_1 (ABS (ATOF (GET_TILE "RECT_tbqd_1")))
TMP_tbqd_2 (ABS (ATOF (GET_TILE "RECT_tbqd_2")))
TMP_tbqd_3 (ABS (ATOF (GET_TILE "RECT_tbqd_3")))
TMP_tbqd_4 (ABS (ATOF (GET_TILE "RECT_tbqd_4")))
TMP_tbgs_1 (ABS (ATOF (GET_TILE "RECT_tbgs_1")))
TMP_tbgs_2 (ABS (ATOF (GET_TILE "RECT_tbgs_2")))
TMP_tbgs_3 (ABS (ATOF (GET_TILE "RECT_tbgs_3")))
TMP_tbgs_4 (ABS (ATOF (GET_TILE "RECT_tbgs_4")))
TMP_tpkd_1 (ABS (ATOF (GET_TILE "RECT_tpkd_1")))
TMP_tpkd_2 (ABS (ATOF (GET_TILE "RECT_tpkd_2")))
))

)


真不好意思,我明明两处都改成了 s_rects啊 但还是提示 no function definition: S_RECTS ,难道不是定义的地方??
谢谢大神帮忙,请别怪我这么笨


页: [1] 2
查看完整版本: 求问dcl问题,最近做了2个lisp都带dcl,但两不能同时启动