好心人帮帮小弟吧 关于ObjectDBX
<p>在窗体初始化的时候</p><p>Private Sub Form_Initialize()<br/> If Left(Version, 2) = "15" Then<br/> Set objDBX = CreateObject("ObjectDBX.AxDbDocument.1")<br/> ElseIf Left(Version, 2) = "16" Then<br/> Set objDBX = CreateObject("ObjectDBX.AxDbDocument.16")<br/> End If<br/>End Sub</p><p>为什么以上代码创建不了ObjectDBX.啊?</p><p>好心人帮帮我吧</p> Dim objDBX As AxDbDocument<br/> On Error Resume Next<br/> Set objDBX = CreateObject("ObjectDBX.AxDbDocument.1")<br/> If err Then<br/> err.Clear<br/> Set objDBX = CreateObject("ObjectDBX.AxDbDocument.15")<br/> If err Then<br/> err.Clear<br/> Set objDBX = CreateObject("ObjectDBX.AxDbDocument.16")<br/> If err Then<br/> err.Clear<br/> Set objDBX = CreateObject("ObjectDBX.AxDbDocument.17")<br/> If err Then<br/> err.Clear<br/> Set objDBX = CreateObject("ObjectDBX.AxDbDocument.18")<br/> End If<br/> End If<br/> End If<br/> End If<br/> On Error GoTo 0<br/>我一般是这样用的,因为我也分不清"."后面到底要多少才好! <p>用Create方法好像不能成功,不知道楼上的完整代码是怎样的,但通过acadobject对象可以</p><p>前提是要事先打开了CAD</p><p> Set AcadObj = GetObject(, "autocad.application.16")<br/> If Err Then<br/> MsgBox "没有打开AutoCAD 2004"<br/> Unload Me<br/> Else<br/> ' SetParent Me.hwnd, AcadObj.hwnd<br/> End If<br/> Set DbxObj = AcadObj.GetInterfaceObject("ObjectDBX.AxDbDocument.16")<br/></p> <p>谢谢大家的帮助 后面的数字好像是指CAD的版本号吧? 怎么知道那个版本的CAD对应那个数字啊?</p> 这恐怕要读取注册表了,不同的CAD版本号在注册表中都有的,如果你是自己用,在CAD中输入acadver就可以看到版本号,如果要做通用软件,那你就必须去研究注册表了。 <p>Set AcadObj = GetObject(, "autocad.application")</p><p>....................</p><p>............</p><p>不要带版本号,得到系统默认的autocad版本<br/></p>
页:
[1]