明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1617|回复: 6

关于找不到 AutoCAD 2007 Library 问题

[复制链接]
发表于 2019-7-28 19:11:35 | 显示全部楼层 |阅读模式
在 win10 系统下同时安装了 AutoCAD 2007 64 Bit 和 2008 64 Bit 后发现 VBA 工程引用里面找不到 2007 的 library 了,2008 的 library 是在的。在VB6里面情况类似,也是只有2008的类库,于是只能选择2008的类库来编译DLL。生成了DLL在CAD 2007里面运行,总是报错:对象类型不匹配。

在win7 32位系统的时候也试过丢失2007的类库,但是选择2008的类库编译所生成的DLL在CAD 2007环境下运行是很正常的,呵呵。。。

问题出在哪里?    
发表于 2019-7-28 20:06:45 | 显示全部楼层
2007 2008 2009都是R17的,只是小版本不同,所以类库同时只有一个存在,至于在WIN10上会出错,可能是权限的问题,你试着把2007的acad.exe主程序设置为以管理员身份运行看看能不能解决问题。
 楼主| 发表于 2019-7-29 08:15:22 | 显示全部楼层
风言无际 发表于 2019-7-28 20:06
2007 2008 2009都是R17的,只是小版本不同,所以类库同时只有一个存在,至于在WIN10上会出错,可能是权限的 ...

:o 好的,我试试
 楼主| 发表于 2019-7-29 12:58:15 | 显示全部楼层
尝试了管理员身份运行 cad 2007,还是不行。
搜索了一下,2007 2008 确实用的是同一个类库,但是文件大小有点点差异(如附图)

本帖子中包含更多资源

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

x
 楼主| 发表于 2019-8-2 17:36:55 | 显示全部楼层
风言无际 发表于 2019-7-28 20:06
2007 2008 2009都是R17的,只是小版本不同,所以类库同时只有一个存在,至于在WIN10上会出错,可能是权限的 ...

对于2007我这么写:Set AcadApp = GetObject(, "AutoCAD.Application.17.0")
对于2008我这么写:Set AcadApp = GetObject(, "AutoCAD.Application.17.1")

这应该没错吧。。。。
发表于 2019-8-3 13:13:28 | 显示全部楼层
改成Set AcadApp = GetObject(, "AutoCAD.Application"),别带版本号试试
 楼主| 发表于 2019-8-3 22:32:18 | 显示全部楼层
风言无际 发表于 2019-8-3 13:13
改成Set AcadApp = GetObject(, "AutoCAD.Application"),别带版本号试试

刚开始我就是采用这个方式,这种方式的问题在于如果电脑上安装有多个版本的cad,比如我的电脑上同时有2007 2008 2012,,就会出现get错cad版本,或者创建一个新的cad app 的问题。

我现在打算试试 getObject(打开的DWG文件全名,Autocad.application),,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:30 , Processed in 0.147991 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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