乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 192|回复: 8

Vb6并设置acadApp=GetObject(,“AutoCAD.Application”)

[复制链接]

14

主题

43

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2017-1-26 14:05:02 | 显示全部楼层 |阅读模式
大家好,很多年前,我用VB6编写了一个应用程序,并编译了一个EXE文件
它运行得很好,在BricsCAD中仍然有效
然而,在AutoCAD 2016和Windows 7 64位中,它不起作用
我觉得问题出在64位窗口上
不幸的是我'我对VB6非常生疏,因为他们已经多年没有使用这种编程语言了。这是我写的代码:
  1.             If UserForm7.Option1.Value = True Then
  2.                 'AutoCAD FULL
  3.                 MsgBox "AutoCAD"
  4.                 Set acadApp = GetObject(, "AutoCAD.Application")
  5.              Else
  6.                 'BricsCAD
  7.                 MsgBox "BricsCAD"
  8.                 Set acadApp = GetObject(, "BricscadApp.AcadApplication")
  9.             End If
  10.             
  11.             acadApp.Visible = True
  12.             
  13.             Dim acadDoc As Object
  14.             Set acadDoc = acadApp.ActiveDocument
  15.          
  16.             ReturnPnt = acadDoc.Utility.getpoint(, "Point base: ")

有什么方法可以使其在AutoCAD Is Windows 7(64位)中工作吗??
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2017-1-27 09:18:30 | 显示全部楼层
你能用这个代替吗
  1. Set acadApp = ThisDrawing.Application
回复

使用道具 举报

7

主题

100

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2017-1-27 10:11:09 | 显示全部楼层
@罗伊,不,不会的;t工作
是的,Win7是64位的,但更重要的是,acad 2016是64位。它还使用VBA7(需要安装它才能响应代码)。如果在提示下键入VBAMAN,将出现一个错误对话框,其中包含下载vba安装的链接。您还需要升级Visual Studio。有免费版本,所以有#039;没有必要继续使用VB6。
回复

使用道具 举报

14

主题

43

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2017-1-27 10:23:47 | 显示全部楼层
也许,我已经找到了一个解决方案,并且没有安装VBA
应用程序实际上是用VB6编写的,没有VBA
如果解I'我发现它工作正常,超过了上次测试I#039;我会回来拿回来的
回复

使用道具 举报

7

主题

100

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2017-1-27 10:37:46 | 显示全部楼层
可能acad cad在未安装vba的情况下响应COM调用。我没有#039;t试过了。但您可能仍然需要更新版本的VB。
回复

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2017-1-27 10:38:42 | 显示全部楼层
由于您运行独立的EXE以将AutoCAD作为进程外实例进行自动化,因此您的应用程序是否为32位EXE应用程序以及AutoCAD(2016)是否为64位应用程序都不重要。但是,您显示的代码按原样在VB6应用程序中使用,仅当AutoCAD(或BricsCAD)已在同一台计算机中运行(即,必须存在正在运行的AcadaApplication实例)时,它才起作用。否则,代码将在此行引发异常。Visible=True,并使您的EXE应用程序崩溃。
回复

使用道具 举报

14

主题

43

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2017-1-27 12:46:54 | 显示全部楼层
我在第一条消息中输入的代码是正确的
我在其他电脑上做了一些测试,工作正常
但是,如果在PC中安装了AutoCAD和BricsCAD,则代码请求必须指定AutoCAD版本。例如
  1. Set acadApp = GetObject(, "AutoCAD.Application.20.1")
PS。无需安装VBA!
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2017-10-20 11:13:27 | 显示全部楼层
尝试:以管理员身份运行
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2017-11-9 15:29:56 | 显示全部楼层
大家好,这些链接最终帮助我解决了这个问题。确保设置CLSID和AutoCAD.Application。21(数字)到相应的AutoCAD版本(此版本适用于AutoCAD 2017)。在注册表中查找。它甚至可以在Windows 10上与visual basic 5和64位AutoCAD 2017配合使用https://stackoverflow.com/questions/40656440/vb6-program-interacting-with-autocad-is-not-longer-able-to-create-or-bind-to-thttps://stackoverflow.com/questions/9125424/late-binding-run-time-error-in-vb6-when-creating-an-object-from-a-net-assembly
  1. Windows Registry Editor Version 5.00
  2. [HKEY_CLASSES_ROOT\AutoCAD.Application.21]
  3. @="AutoCAD Application 21"
  4. [HKEY_CLASSES_ROOT\AutoCAD.Application.21\CLSID]
  5. @="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
  6. [HKEY_CLASSES_ROOT\AutoCAD.Application]
  7. @="AutoCAD Application"
  8. [HKEY_CLASSES_ROOT\AutoCAD.Application\CLSID]
  9. @="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
  10. [HKEY_CLASSES_ROOT\AutoCAD.Application\CurVer]
  11. @="AutoCAD.Application.21"
  12. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoCAD.Application.21]
  13. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoCAD.Application.21\CLSID]
  14. @="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
  15. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoCAD.Application]
  16. @="AutoCAD Application"
  17. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoCAD.Application\CLSID]
  18. @="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
  19. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoCAD.Application\CurVer]
  20. @="AutoCAD.Application.21"
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 13:12 , Processed in 0.442260 second(s), 81 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表