明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1610|回复: 4

在autocad07可以运行,autocad04、06不可以运行,是怎么回事?

[复制链接]
发表于 2011-1-31 11:48:43 | 显示全部楼层 |阅读模式
本帖最后由 lwd899 于 2011-1-31 11:51 编辑

关于在AutoCAD2007可以运行,autocad2006不可以运行的二次开发编程问题
我用vb.net 采用activex技术做autocad二次开发,遇到如下问题,
编程环境,visual studio2008,autocad 2007,
打包完之后的安装运行环境,autocad 2006,
运行结果:没有任何反应,无法启动autocad,程序一直卡着。
附注:程序在autocad2007的环境下运行没有问题。
请问大家,这是什么情况?
'编程时引用情况如下:
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Interop.Common
'连接CAD并打开dwt模板(dwt模板改为06的也不行)
    Public Sub GetCadwithdwtfrw(ByVal opendwt As Boolean, ByVal dwtpath As String)
        Try
            AcadApp = GetObject("autocad.application")
        Catch ex As Exception
            Try
                AcadApp = CreateObject("autocad.application")
            Catch ex1 As Exception
                MsgBox("无法打开AutoCAD")
                Exit Sub
            End Try
        End Try
        AcadApp.Visible = True
        AppActivate(AcadApp.Caption)
        AcadApp.Documents.Close()   '关闭cad文档
        AcadApp.Documents.Add(dwtpath)  '打开dwt模板
        ThisDrawing = AcadApp.ActiveDocument
    End Sub

发表于 2011-1-31 13:56:13 | 显示全部楼层
恐怕楼主要失望了,net是在04版之后才支持的,然而06版的net和08,09的dll是有诸多不同的,net又是前期绑定除非你用06的库编译否则是不能运行的,而且没在06版下面编译过net我也不知道06版有没有intorp接口,但是04版是绝对没有办法运行net程序集的
 楼主| 发表于 2011-1-31 15:37:08 | 显示全部楼层
谢谢chmenf087,先给你拜个年!
照你的意思,用vb6是不是就不存在这类问题?如果用vb.net2008采用activex(com)方法来开发cad的话,最低也只能用06版了?假如引用06版的dll,那么后面的新版本是一定可以用了?
发表于 2011-1-31 16:07:11 | 显示全部楼层
谢谢你!第一个问题答案是肯定的,甚至你都不需要引用cad的库,第二个问题不知道要看04的库应该是可以的吧,第三个答案是否定的因为有可能desk公司重写了某些函数,或者更改了某些方法导致net  api有些变化吧,但是intorop命名空间是没有几个变化的方法的应该可以通用。
 楼主| 发表于 2011-1-31 17:35:04 | 显示全部楼层
我刚才分别装了04版和06版试了,04版根本就运行不成,06版在引用了autocad2006的类型库之后可以绘图了,但是效果还是没有2007好。看来确实是cad类型库的版本问题,基于vb2008使用activex技术开发cad还是有些不便。

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

本版积分规则

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

GMT+8, 2024-11-25 20:21 , Processed in 0.168550 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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