lincctw_ccl 发表于 2011-7-28 09:13:03

请教显示的错误信息如何解决 ? no function definition: DCL_PROJECT_LOAD.layer

各位好!!刚学习
opendcl 来写对话框,依版上下载的档案做范例
但还是搞不太懂它的写法.有很多疑问请有空的前辈帮解答一下
谢谢!!1.如上传范例lsp可以加载
但执行lsp 会出现    ERROR ==> no function definition: DCL_PROJECT_LOAD.layer请问是哪设定还是写法有问题吗? 2.承上个问题,如要按完按钮后再接着打开odc 该如何写?3.用opendcl写出来的
lsp 和
odcl 如把档案copy到
别的计算机中来执行,其它计算机也要安装
opendcl才可执行吗?
以上问题
烦请各位前辈拨空指点一下!谢谢

zhynt 发表于 2011-7-28 09:51:28

1、首先对话框文件的扩展名是odcl,本例中你写的是dcl。
2、对话框中按钮的动作函数和lsp中的不一致。
3、还有就是对话框和按钮不要搞这么大好不好。
4、其他的机子不一定要装OpenDCL,只要将Runtime.Res.dll和相应版本的OpenDCL.xx.arx复制过去就可以了。

lincctw_ccl 发表于 2011-7-28 10:40:38

回复 zhynt 的帖子


常承蒙 zhynt的指导!!致上感谢
还请再次指导一下

2、对话框中按钮的动作函数和lsp中的不一致
可否帮改其中一个按钮供小弟参考,我原DCL型态都是这种的按钮,我想依样模仿应该可以吧!!
3.因为还显示不出 对话框来 所以我也不知 dcl 显示 出来会变多大!不好意思
请问:我现在是用 23"的对话框来编对话框 那这程序拿去19" 是不是就会变很大?

zhynt 发表于 2011-7-28 11:38:38

本帖最后由 zhynt 于 2011-7-28 11:39 编辑

截个图给你看看:

修改后的对话框,(大小我没有改)

(Defun C:olaco1a (/)
(Setvar "Cmdecho" 0)
(Command "Opendcl")
(Setvar "Cmdecho" 1)
(setq dcl (dcl_project_load "olaco1a.odcl"))      ;更癸杠祘
(Dcl_Form_Show olaco1a_window)       ;陪ボ癸杠
(Princ)
)
(defun c:olaco1a_window_hh_OnClicked (/ sel p0)
(setq cmdsave (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "blipmode" 0);;夹癘翴秨闽
(setq sel (ssget))
(setq p0 '(100 100 100))
(command "copy" sel "" p0 p0)
(command "change" sel "" "p" "la" "-hh" "");;
(prompt "laco1a.lspCohh 笆だ糷-HH")
(setvar "cmdecho" cmdsave)
(princ)
)

(defun c:olaco1a_window_bp_OnClicked (/ sel p0)
(setq cmdsave (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "blipmode" 0);;夹癘翴秨闽
(setq sel (ssget))
(setq p0 '(100 100 100))
(command "copy" sel "" p0 p0)
(command "change" sel "" "p" "la" "-bp" "");;
(prompt "laco1a.lspCohh 笆だ糷-BP")
(setvar "cmdecho" cmdsave)
(princ)
)

lincctw_ccl 发表于 2011-7-28 11:58:37

回复 zhynt 的帖子

還是不行
我將您給的lsp重做 dcl也蓋過去了

ERROR ==> no function definition: DCL_PROJECT_LOAD.layer
請問這和dcl和cad版本有差嗎???

我dcl版本是 6.0.2.5 cad版本是 2002

zhynt 发表于 2011-7-28 12:20:29

ACAD2002的版本号应该是R15吧。
在这之前你有没有加载相应版本的OpenDCL.xx.arx呢?其中xx为cad的版本号,cad2002就应该加载OpenDCL.15.arx,你可以在c:\Program Files\Common Files\OpenDCL下找到它,如果没有,就应该是不支持,我不知道6.0.2.5支不支持2002
反正我的6.0.0.5是没有该文件的。

lincctw_ccl 发表于 2011-7-28 13:34:36

回复 zhynt 的帖子

應該是15的!!
因我查了一下 4.0 好像才有支援 2000~2002 我再找看看有沒有 4.0的
謝謝指導!!

請問有人知 opendcl 4.0( 有支援2002的版本)
在哪下 可不否提供下連絡!! 網上找不到有檔的連結

謝謝!!

zhynt 发表于 2011-7-28 14:09:52

我这里有,你看看能不能用。可能格式有所不同。

lincctw_ccl 发表于 2011-7-28 15:41:44

回复 zhynt 的帖子

您提供的這版本還是沒有 OpenDCL.15.arx
看來用 opendcl 來開發 對話框 我看還是等公司cad升級再來搞吧!!
感謝一直費心指導!!!


原用意只是想讓 dcl 內的按鈕 字變大點
所以早上提供的 odcl 內容字体才會那麼大!!
沒辨法!有點年紀了 長期盯著屏幕 視力都出問題了!!

不知 ahynt 有何高招 可使按鈕內的字變大!!!
找了很久 都是說 不可變更字体大小!!!

页: [1]
查看完整版本: 请教显示的错误信息如何解决 ? no function definition: DCL_PROJECT_LOAD.layer