【发布时间】:2017-04-01 02:04:12
【问题描述】:
堆栈,
首先,这个网站很棒,您过去帮助我解决了很多问题;谢谢。
展望未来,该程序自 AutoCAD 2000 以来一直存在并投入使用。该软件的当前版本与 ACAD 2017 兼容。
我与一个小团队一起工作,不知从何而来,我的电脑在 VB6/AutoCAD 组合中遇到了困难;其他开发人员仍在正常工作...
后期绑定用于获取或创建对象;取决于 Acad 是否已经在运行...例如
Set oAutoCad = GetObject(, "Autocad.Application")
If err.Number Then
err.Clear
Set oAutoCad = CreateObject("Autocad.Application")
If err.Number Then
MsgBox UCase$("Unable to launch AutoCAD Session")
End
Else
oAutoCad.Visible = True
End If
End If
有两种不同的可执行文件(使用相同的绑定技术)与 ACAD 一起执行不同的操作。对于他们两个,软件在 CreateObject 和 GetObject 上都失败,并出现“运行时错误 429 - ActiveX 组件无法创建对象。但是,在调用中添加 '.20' 可以让我创建一个对象,但我仍然无法绑定到现有的。例如..
Call CreateObject("Autocad.Application.20")
我相信我自己和团队之间的区别在于,我最近在一些“访问注册表错误”问题浮出水面后不得不重新安装 VB6(在 Windows 更新后立即......很奇怪)。这是最大的区别。其他人都安装了 VB6 从 7 迁移到 10。我是第一个直接安装在 Windows 10 机器上的人。
我们最初是在 VB6 中使用 SP6,尽管这个问题引起了我的注意。显然,他们仍在更新服务包。因此,计算机最近已更新为 SP6D。我也试过安装累积服务包。
我试图更改 Win 7、Win 8、XP(所有这些)的兼容性设置...我不知道。
我以管理员身份运行
这是一台 64 位机器。
原始的 VB6 MSDN 库已安装...由于某种原因,SP6 无法正确安装,直到它...就此而言,实际的 VB6 安装最终被挂断。貌似影响不大,但肯定是在后台做某事(或者不做)
任何帮助将不胜感激......希望如此。
******* 新信息 ******* 显然,添加 '.20' 仅适用于其中一个 exe,另一个需要和附加版本号(例如“Autocad.Application.20.1”)
为了让它更有趣,如果我用'20.1'启动项目,在创建对象的那一刻停止代码,等待autocad启动,将其设置为可见,打开我需要连接的图形使用ACAD UI,然后让程序继续,GetObject 不会失败...
??????
【问题讨论】:
标签: windows vb6 activex autocad