为什么程序编译出错?
; (COMPILE-FILES lsa (E:/pipi/datum/old/LSP/kl/klbatchPrint.lsp)).........
;;DCL
;;C:KLBATCHPRINT
;;ADDFILE
;;RESTOREDATA
;;PFILE
; warning: cannot LINK dos_progbar
; The function is undefined
;;REMOVEFILE
;;*ERROR*
;
;
; Compilation complete.
以上是对自编的一个小程序编译的结果,其中函数PFILE引用了DOSLIB2K.ARX中的dos_progbar.。用LSP源文件运行已OK,但是一编译就出错。我先装载DOSLIB2K.ARX,编译也会出错。
请版主指点。 试试在程序中写上加载arx的语句 可能是你的程序太雜了或者程序內有錯誤呢.所以出這樣的現象呀. 该段程序如下,请帮忙查看
;;;---------------------------------------------------------
;;; print file
;;;---------------------------------------------------------
(defun pFile (/ i WW cadobj version)
(setq i 0)
(cond
((= (getvar "acadver") "15.06")
(setq version "doslib2k.arx")
)
((= (getvar "acadver") "16.0s (LMS Tech)")
(setq version "doslib2004.arx")
)
) ;_ end of cond
(if (findfile version)
(arxload version)
(progn
(princ (strcat "\n找不到文件" version))
(exit)
) ;_ end of progn
) ;_ end of if
(setq cadobj (vlax-create-object "AUTOCAD.Application"))
(dos_progbar
"正在打印, 请等待..."
(vl-list-length filename)
) ;_ end of dos_progbar
(while (< i (vl-list-length filename))
(setq WW (vla-open (vla-get-documents cadobj)
(nth i filename)
) ;_ end of vla-open
) ;_ end of setq
(vla-SendCommand WW "(load \"klPrint\")\n")
(vla-SendCommand WW "klPrint\n")
(vla-sendcommand WW "qsave\n")
(vla-SendCommand WW "close\n")
(dos_progbar -1)
(setq i (+ i 1))
) ;_ end of while
(dos_progbar)
(vla-quit cadobj)
(arxunload version)
) ;_ end of defun 我这里编译正常,没有出现错误
你的cadobj最好这样吧(setq cadobj (vlax-get-acad-object))
你那样就得到一个新的acad进程,因为当前也是acad进程,所以没有必要启动一个新的,最后又关闭它。。。 這處理時沒有問題
; Make MAKEAFAS; Date: 12/24/03; Time:1:53 PM;
; Make single module
; Make with SAFE optimize: nil
; Make message level: 1
;;; CREATING PDB...
.
;;; COMPILING source files...
;;PFILE
"F:/BDY/PROGRAM/BDYLISP/MAKEAFAS.ob"
; Make complete. 我学习LISP一段时间了 还没有接触到 VLISP请问怎么样把lLSP该成FAS文件 还有 我们老板每次给我加载程序的时候都非常快的 他不给我们看程序的源代码 我想请问怎么样才能在他加载的时候一并把他的程序偷偷的另存到另外一个地方 现在知道他的程序路径
主要的是不能让他看出来 我在拷贝他的程序(我的意思是 万一在他拔下移动盘的时候,出现“此文件正在使用”之类的话 那我就惨了 工作就没有了 呵呵)请问能不能用一小程序来实现他
我真的很现在不能用200X画图 还用R14没有劲!! 但是在200X里一个窗口可一大开很多图 加载一次还不行,所以只能用R14 请为帮帮忙!!! 谢谢版主,是我自己搞错了。如果编译的信息中出现*ERROR*,就说明程序有问题。是这样吧! 怎么没有人解决8楼的问题
页:
[1]
2