明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6077|回复: 12

GetObject(, "AutoCAD.Application.16")的问题?

  [复制链接]
发表于 2004-8-10 09:33:00 | 显示全部楼层 |阅读模式
我同时打开几个AutoCAD 2004的窗体, 用VB调用


GetObject(, "AutoCAD.Application.16")时,怎么得到不同的AutoCAD实例,


我的问题是, 如何得到当前操作的AutoCAD应用程序对象?
发表于 2004-8-10 21:26:00 | 显示全部楼层
默认的就是当前操作的AutoCAD应用程序对象
 楼主| 发表于 2004-8-11 14:14:00 | 显示全部楼层

回复

GetObject方法无法区分每一个AutoCAD应用程序实例,


用VB开发AutoCAD我感觉不方便.
发表于 2004-8-11 16:36:00 | 显示全部楼层
那就用VBA解决,VBA没有这种问题
发表于 2005-12-7 16:53:00 | 显示全部楼层

我已经解决这个问题了,如果你会VC++的话,这很简单,如果你想用VB实现的话,代码看起来也不难,不过理解起来你可能会摸不着头的,给你个代码看看:

我可是抱着微软VB开发小组的Matthew Curland写的Advanced visual baisc 6英文版苦读半年的结果(结果我从英盲已经发展到可以过六级的地步了),当然下面的代码是不能运行的,要想运行就也读半年的书再说吧,这对你们有好处。看看MSDN也会对你有帮助的。

Private Sub Form_Load()
    Dim oROT As IRunningObjectTable
    Dim oEnmMk As IEnumMoniker
    Dim oMK As IMoniker
    Dim oBC As IBindCtx
    Dim lPtr As Long
    Dim sName As String
    Dim obj As Object
    Dim oCadApp As AcadApplication
    Dim j As AcadDocument
   
    Set oROT = GetRunningObjectTable
    Set oBC = CreateBindCtx
    Set oEnmMk = oROT.EnumRunning
   
    Do While oEnmMk.Next(1, oMK) = 0
        Set obj = oROT.GetObject(oMK)
        
        If TypeOf obj Is AcadDocument Then
               Set j = obj
                Debug.Print j.Name
          End If
    Loop
   
    Set oROT = Nothing
End Sub

点评

自己实现了rot类型库  发表于 2015-7-3 23:18
发表于 2005-12-8 16:59:00 | 显示全部楼层

直接用不行,即使引用了framework也不行。

 

发表于 2005-12-13 17:36:00 | 显示全部楼层
不用framework就可以了,我也没用过那东西
发表于 2005-12-13 22:11:00 | 显示全部楼层

大侠,你终于出现了.

GetRunningObjectTable

好像是存在于 .net framework 中的,但是我可以得到IRunningObjectTable,IEnumMoniker 缺无法从IEnumMoniker获取IMoniker

你这个程序对我们很重要,能否赐教一下.

发表于 2011-4-30 22:45:37 | 显示全部楼层
VLAX类在2004中也出现这个问题了。
发表于 2011-8-9 22:58:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 11:42 , Processed in 0.212164 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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