VS2005 中VB遇到的问题cad2009版本 Imports CAD = Autodesk.AutoCAD.Interop Imports CADCommon = Autodesk.AutoCAD.Interop.Common Dim axc As Object '或者定义成CADCommon.AxDbDocument axc = New CADCommon.AxDbDocument() 执行第2句是报错,尝试读取或写入受保护的内存。这通常指示其他内存已损坏 或者使用 axc = Microsoft.VisualBasic.Interaction.CreateObject("ObjectDBX.AxDbDocument.17") 报错 无法创建ActiveX组建,429错误 但是上述两种方法我在VBA里面都是可以正常运行的 Dim DBsor As AxDbDocument Set DBsor = New AxDbDocument 或者 If Left(Version, 2) = "15" Then '2000-2002 Set DBsor = CreateObject("ObjectDBX.AxDbDocument.1") ElseIf Left(Version, 2) = "16" Then '2004 Set DBsor = CreateObject("ObjectDBX.AxDbDocument.16") ElseIf Left(Version, 2) = 17 Then '2009 Set DBsor = CreateObject("ObjectDBX.AxDbDocument.17") End IF 这两种方法在VBA中都是可以正常运行的,并且后来的使用DBsor 的图形操作也都成功了 VS2005 中C#遇到的同样问题cad2009版本 using AutoCAD=Autodesk.AutoCAD.Interop; using AXDBLib = Autodesk.AutoCAD.Interop.Common; public AXDBLib.AxDbDocumentClass AXDB1 //或者定义成Object AXDB1 = new Autodesk.AutoCAD.Interop.Common.AxDbDocumentClass(); 执行第2句是报错,尝试读取或写入受保护的内存。这通常指示其他内存已损坏
|