songtq 发表于 2007-9-1 22:50:00

[求助]vb程序问题导致Autocad致命错误的解决方法

各位朋友,本人采用cangcang朋友提供的将界面嵌入到VB窗口的方法,代码如下。其他操作与CAD不嵌入VB相同,但VB程序出现错误或异常时,都会引起AutoCAD致命错误,而对于不采用嵌入VB界面的方式,就不会引起AUTOCAD错误。请高手解释一下原因,当采用嵌入方式的时候,怎样解决,才不至于由于VB出现异常导致CAD致命错误,多谢!!

songtq 发表于 2007-9-1 22:53:00


cangcang朋友提供的将Autocad界面嵌入到VB窗口的代码

Public Sub AutoCAD_Appliaction(pic As VB.PictureBox, AcadApp As AcadApplication, AcadDoc As AcadDocument) '调用AUTOCAD在VB图形窗口中
    On Error Resume Next
    Dim i As Integer
    Set AcadApp = GetObject(, "AutoCAD.Application.16")
    If Err Then
      Err.Clear
      Set AcadApp = CreateObject("AutoCAD.Application.16")
      If Err Then
            pic.Visible = False
            MsgBox Err.Description
            pic.Visible = True
            Exit Sub
      End If
    Else
      If AcadApp.Documents.Count > 1 Then
            For i = AcadApp.Documents.Count To 1 Step -1
                Set AcadDoc = AcadApp.Documents.Item(i - 1)
                AcadDoc.Save
                AcadDoc.Close
            Next
      End If
    End If
    Set AcadDoc = Nothing
   
    Dim z As AcadMenuGroup
    Dim j As AcadToolbar
   
    For Each z In AcadApp.MenuGroups
      For Each j In z.Toolbars
      j.Delete
      Next j
    Next z
   
    lHwnd = GetParent(GetParent(AcadApp.ActiveDocument.hwnd))
    If lHwnd = 0 Then Exit Sub
    SetParent lHwnd, pic.hwnd
    SetWindowText lHwnd, "图形显示"
    AcadApp.Visible = True
    AcadApp.WindowState = acMax   
   
End Sub

songtq 发表于 2007-9-3 20:07:00

在VB出现异常的时候,能否通过Onerror goto的方式,处理AutoCAD不让他产生错误?
还是由于VB出现异常,导致Autocad父句柄出错,而引起的错误?
本人对此问题考虑了很久,还没有分析出原因,希望大家给予帮助,多谢了!!!

songtq 发表于 2007-9-8 11:06:00

没有朋友遇到这样的问题吗?

songtq 发表于 2007-9-13 13:36:00

希望大家发表一下意见

songtq 发表于 2007-9-20 11:21:00

顶一下
页: [1]
查看完整版本: [求助]vb程序问题导致Autocad致命错误的解决方法