|
我制作了一个程序,调用CAD2007运行正常,调用CAD2004时运行却出现“实时错误13,类型不匹配”的错误,问原因和解决方法
调试时提示修改代码如下红色部分所示:
Option Explicit
'Dim DotCAD As AcadApplication
Dim acadApp As Object
Dim acadDoc As Object
Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Private Sub Check1_Click() ' 窗口置前
Dim myval
myval = SetWindowPos(dot3.hwnd, -1, 0, 0, 0, 0, 3)
End Sub
(略去一段声明)
' 创建圆
Dim circleObj() As AcadCircle
ReDim circleObj(n) As AcadCircle
Dim center(0 To 2) As Double
Dim retObj() As Variant
ReDim retObj(n) As Variant
Dim m
Dim columns
Ad = (An - A0) / n
Dim i
For i = 0 To n
If i Mod 2 = 0 Then
center(0) = returnpnt(0)
Else
center(0) = returnpnt(0) + (A0 + i * Ad) / 2
End If
center(1) = returnpnt(1) - (B0 * i + i * (i - 1) * Bd / 2)
center(2) = returnpnt(2)
Set circleObj(i) = acadApp.ActiveDocument.ModelSpace.AddCircle(center, 0.5 * D0 + i * Rd)
Private Sub Form_Load()
On Error Resume Next
Set acadApp = GetObject(, ".Application")
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application")
If Err Then End
End If
acadApp.Visible = True
Set acadDoc = acadApp.ActiveDocument
|
|