玄星子22 发表于 2013-9-30 21:31:37

请教一个关于lisp调用dll文件的问题

代码如下:

(defun c:spz( / rndobj)
(command: (vl-load-com))
(setq rndobj(vlax-create-object "spz2014.start"))
(vlax-invoke-method rndobj"spz")
)

加载到CAD时会提示错误: 参数类型错误: VLA-OBJECT nil
请教下各位是什么原因。


玄星子22 发表于 2013-9-30 21:35:05

还有问题就是 明明 在办公室的电脑上通过运行,但回家用家里电脑就不行了,软件版本都是一样的,也都是32位的,但在家里电脑上,加载后会提示 com组件异常, 如果去掉 (command: (vl-load-com)) 这一行呢,就会又会提示 no Function Definition:vlax-create-object
好纠结,请教下各位该怎么办,到底是什么原因

yshf 发表于 2013-10-1 21:49:43

本帖最后由 yshf 于 2013-10-1 21:56 编辑

(defun c:spz( / rndobj)
   (vl-load-com)
(setq rndobj(vlax-create-object "spz2014.start"))
   (vlax-invoke-method rndobj"spz")
)
还有包含spz2014.start的dll注册没有。

玄星子22 发表于 2013-10-2 08:54:23

yshf 发表于 2013-10-1 21:49 static/image/common/back.gif
还有包含spz2014.start的dll注册没有。

注册过了,而且提示注册成功了

玄星子22 发表于 2013-10-2 10:45:37

yshf 发表于 2013-10-1 21:49 static/image/common/back.gif
还有包含spz2014.start的dll注册没有。

32位的CAD中已全部测试通过运行,我现在怀疑是不是这样的问题,dll文件是用VB6编写的32位的dll文件,所以会不会是因为在64位的CAD中调用32位的dll所以才出现这样的问题,那有什么软件可以编写64位的dll呢
页: [1]
查看完整版本: 请教一个关于lisp调用dll文件的问题