参数类型错误: stringp #<FILE internal>
参数类型错误: stringp #<FILE internal>!!!(大师们哪里不对)
(defun c:KL(/ dcl_id getdata1911 re );
(or ll (setq ll "100"))
(or kk (setq kk "200"))
(or ff (setq ff "2"))
(or ww (setq ww "2"))
(defun getdata1911()
(setq ll(get_tile "ll"))
(setq kk(get_tile "kk"))
(setq ff(get_tile "ff"))
(setq ww(get_tile "ww"))
)
(if (= (setq dcl_id (load_dialog (make-dclCS991))) 0)(progn(alert "\n无法显示对话框!")(exit)))
(if(not (new_dialog "dllC" dcl_id))(progn(alert "\n无法显示对话框!")(exit)))
(set_tile "ll" ll)
(set_tile "kk" kk)
(set_tile "ff" ff)
(set_tile "ww" ww)
(action_tile "accept" "(getdata1911)(done_dialog 1)")
(action_tile "cancel" "(getdata1911)(done_dialog 0)")
(setq re (start_dialog))
(unload_dialog dcl_id)
(if (= re 1)
(get_jxhy_data912 (atof ll)(atof kk)(atof ff)(atof ww) ))
(princ)
)
(defun make-dclCS991(/ lst_str str file f)
(setq lst_str '(
"dllC:dialog"
"{ // start dcl"
"label = \"自用\";"
":column{"
":row{:edit_box{label=\"材料长度: \";key=\"ll\"; edit_width=10;}}"
":row{:edit_box{label=\"材料宽度: \";key=\"kk\"; edit_width=10;}}"
":row{:edit_box{label=\"材料间距: \";key=\"ff\"; edit_width=10;}}"
":row{:edit_box{label=\"零件间距: \";key=\"ww\"; edit_width=10;}}"
"}"
":row{"":button{label=\"确定(&Q)\";key=\"accept\";is_default=true;height=3;}" ":button{label=\"取消(&C)\";key=\"cancel\";is_cancel=true;height=3;}""}"
"fixed_width=true;"
"alignment=left;"
"} // end dll" ;结尾
)
)
(setq file (vl-filename-mktemp "DclTemp.dcl"))
(setq f (open file "w"))
(foreach str lst_str
(princ "\n" f)
(princ str f)
)
(close f)
;;返回
file
)
换个电脑试试 直接加载 不是用的是用生成
飞雪神光 发表于 2023-8-2 19:55
换个电脑试试
错误: 参数类型错误: stringp nil
换了是这样的 jun353835273 发表于 2023-8-2 20:45
直接加载 不是用的是用生成
谢谢,我试试 那就奇怪了stringp #<FILE internal> 这个看起来是路径的错误 就是可能电脑不让写入文件我电脑是能正常运行 本帖最后由 jun353835273 于 2023-8-2 22:15 编辑
zwq8629 发表于 2023-8-2 22:06
错误: 参数类型错误: stringp nil
换了是这样的
换了要改代码,不用生成,你那个有可能是缓存路径不让你写文件。
比如这句 (setq file (vl-filename-mktemp "DclTemp.dcl"))
改成 (setq file "D:\\DclTemp.dcl")
也或者是你没有加载库文件
(VL-LOAD-COM)在程序的开头加一个,因为你用了vl函数,单步调试就能发现问题。
jun353835273 发表于 2023-8-2 22:11
换了要改代码,不用生成,你那个有可能是缓存路径不让你写文件。
比如这句 (setq file (vl-filename-mkt ...
参数类型错误: stringp #<FILE internal>
还是这样报错 飞雪神光 发表于 2023-8-2 22:09
那就奇怪了stringp # 这个看起来是路径的错误 就是可能电脑不让写入文件我电脑是能正常运行
好像是跟其他插件有冲突,我把其他加载的都取消了,这个插件就可以用:'( zwq8629 发表于 2023-8-3 09:00
好像是跟其他插件有冲突,我把其他加载的都取消了,这个插件就可以用
make-dclCS991 这个有同名的函数吧
页:
[1]
2