明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2641|回复: 12

为什么程序编译出错?

  [复制链接]
发表于 2003-12-24 09:55:00 | 显示全部楼层 |阅读模式
; (COMPILE-FILES lsa (E:/pipi/datum/old/LSP/kl/klbatchPrint.lsp))
[Analyzing file "E:/pipi/datum/old/LSP/kl/klbatchPrint.lsp"]
.........
[COMPILING E:/pipi/datum/old/LSP/kl/klbatchPrint.lsp]
;;DCL
;;C:KLBATCHPRINT
;;ADDFILE
;;RESTOREDATA
;FILE
; warning:        cannot LINK dos_progbar
;                    The function is undefined
;;REMOVEFILE
;;*ERROR*
;
;
[LINKING OBJ in memory]
[FASDUMPING object format -> "E:/pipi/datum/old/LSP/KLTOOLS/klbatchPrint.fas"]
; Compilation complete.

以上是对自编的一个小程序编译的结果,其中函数PFILE引用了DOSLIB2K.ARX中的dos_progbar.。用LSP源文件运行已OK,但是一编译就出错。我先装载DOSLIB2K.ARX,编译也会出错。
请版主指点。
发表于 2003-12-24 10:03:00 | 显示全部楼层
试试在程序中写上加载arx的语句
发表于 2003-12-24 11:48:00 | 显示全部楼层
可能是你的程序太雜了或者程序內有錯誤呢.所以出這樣的現象呀.
 楼主| 发表于 2003-12-24 12:33:00 | 显示全部楼层
该段程序如下,请帮忙查看
;;;---------------------------------------------------------
;;; 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
发表于 2003-12-24 13:54:00 | 显示全部楼层
我这里编译正常,没有出现错误
你的cadobj最好这样吧(setq cadobj (vlax-get-acad-object))
你那样就得到一个新的acad进程,因为当前也是acad进程,所以没有必要启动一个新的,最后又关闭它。。。
发表于 2003-12-24 13:57:00 | 显示全部楼层
這處理時沒有問題

; Make MAKEAFAS; Date: 12/24/03; Time:1:53 PM;
; Make single module
; Make with SAFE optimize: nil
; Make message level: 1


;;; CREATING PDB...
[Analyzing file "F:/BDY/PROGRAM/BDYLISP/MAKEAFAS.lsp"]
.

;;; COMPILING source files...
[COMPILING F:/BDY/PROGRAM/BDYLISP/MAKEAFAS.lsp]
;FILE
"F:/BDY/PROGRAM/BDYLISP/MAKEAFAS.ob"
[LINKING OBJ in memory]
[FASDUMPING object format -> "F:/BDY/PROGRAM/BDYLISP/MAKEAFAS.fas"]
; Make complete.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2003-12-24 15:34:00 | 显示全部楼层
我学习LISP一段时间了 还没有接触到 VLISP  请问怎么样把lLSP该成FAS文件
发表于 2003-12-24 15:42:00 | 显示全部楼层
还有 我们老板每次给我加载程序的时候都非常快的 他不给我们看程序的源代码 我想请问怎么样才能在他加载的时候一并把他的程序偷偷的另存到另外一个地方 现在知道他的程序路径
主要的是不能让他看出来 我在拷贝他的程序(我的意思是 万一在他拔下移动盘的时候,出现“此文件正在使用”之类的话 那我就惨了 工作就没有了 呵呵)请问能不能用一小程序来实现他
我真的很现在不能用200X画图 还用R14没有劲!! 但是在200X里一个窗口可一大开很多图 加载一次还不行,所以只能用R14 请为帮帮忙!!!
 楼主| 发表于 2003-12-24 16:41:00 | 显示全部楼层
谢谢版主,是我自己搞错了。如果编译的信息中出现*ERROR*,就说明程序有问题。是这样吧!
发表于 2003-12-25 16:47:00 | 显示全部楼层
怎么没有人解决8楼的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 10:43 , Processed in 0.185975 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表