求问dcl问题,最近做了2个lisp都带dcl,但两不能同时启动
求问dcl问题,最近做了2个lisp都带dcl,但两不能同一图中使用,先运行哪一个,另一个就 出现 参数类型错误: stringp nil一直找不到原因,求高手指点啊 谢谢了~~~ 副程序同名 对话框不能同时出现,要隐藏掉一个,再调用另一个 lsjj 发表于 2014-5-9 06:15 static/image/common/back.gif
副程序同名
没有重名啊大神能指出来吗? byghbcx 发表于 2014-5-9 07:57 static/image/common/back.gif
对话框不能同时出现,要隐藏掉一个,再调用另一个
那程序应该怎么写呢? 求助啊 (Defun S_RECT()... 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”
这个怎么破 明明有这个副程序啊?
大神受累再指点一下啊 先解決問題,你的程序沒改到定義S_RECT的地方
以你提供的程序為例
問題不在是否2個LISP在同一圖檔使用,在於你加載程序先後的關係
若每次使用前各別加載,是不會有異常的
同時加載程序,二個程序中都有DEFUN S_RECT(),以後加載為準
如果樓梯.LSP是後加載,先執行樓梯是正常的,再執行ltpm,是以樓梯定義的S_RECT為準
dcl文件里别用大写字母
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