乐筑天下

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

[编程交流] AcadApplication w/2010使用

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 14:47:52 | 显示全部楼层 |阅读模式
大家好
 
希望有人能对这个问题有一些见解,我的应用程序从AutoCAD 2009到2010。。。
 
我的应用程序使用AutoCAD 2009类型库&ObjectDBX Common 17.0类型库。。。使用以下协议,我能够打开并使用AutoCAD(视情况而定)
 
  1. Private AutoCAD_Instance As AcadApplication
  2. Try
  3. AutoCAD_Instance = GetObject(, "AutoCAD.Application")
  4. Catch
  5. AutoCAD_Instance = CreateObject("AutoCAD.Application")
  6. End Try

 
 
安装2010后,在执行“CreateObject”时出现以下错误(即使AutoCAD处于打开状态,GetObject也会失败)
 
  1. Exception Type : System.InvalidCastException
  2. Unable to cast COM object of type 'Autodesk.AutoCAD.Interop.AcadApplicationClass' to interface type 'Autodesk.AutoCAD.Interop.AcadApplication'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{8F17437C-2EFB-4FC4-8188-EEFA50FE7147}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

 
一旦我替换了对2010版本的引用,这个例外就消除了。。。如果可能的话,我希望能够避免这种情况。。。
 
顺便提一下,当加载2010引用并尝试运行2009时,我遇到了类似的错误。。。
 
有什么想法吗?
 
非常感谢!
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 16:36:10 | 显示全部楼层
只是想让人们知道,我已经能够通过重新定义“XXXXX为对象”(vs AcadApplication)来实现这一点。。。
 
我想这是晚装吧?它整体工作,除了与。还原“LayerState”时尝试使用的GetInterfaceObject
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-1 20:51 , Processed in 0.706567 second(s), 56 queries .

© 2020-2025 乐筑天下

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