求救:封装为DLL,再用AUTOCAD VBA调用报错少个半个括号
在vb6.0 里的代码为如下:Public Function shanghai (ByVal doccument As AcadDocument, ByVal ptSt As Variant, ByVal ptEn As Variant) As AcadLine
Set shanghai = Document.ModelSpace.AddLine(ptSt, ptEn)
End Function
生成dll后(工程名为STX1,类模块名为SUZHOU1)
在autocadvba中的代码为:
Public shimadongxi As New STX1.SUZHOU1
Sub line()
Dim pt1(0 To 2) As Double
Dim pt2(0 To 2) As Double
Dim objline As AcadLine
pt1(0) = 10
pt1(1) = 10
pt1(2) = 0
pt2(0) = 150
pt2(1) = 100
pt2(2) = 0
Set objline = shimadongxi.shanghai(ThisDrawing, pt1, pt2)
End Sub
报错如下:compile error Expected: (
把过程名称line改名
Sub line()...............
把类模块形参document改名
Public Function shanghai(ByVal doccument As AcadDocument................... ByVal 使用不当,用byref zzyong00 发表于 2015-2-25 19:52 static/image/common/back.gif
ByVal 使用不当,用byref
谢谢老大的指点,我刚刚试了下 改为byref 还是报相同的错误 建议都用vb6来调试,这样就可以进入activex工程里进行调试了,不会不知道是哪行出错了
用vba,dll只能先编译,如果dll里有错,很难找出来
页:
[1]