我在 VB6 中使用 COM 对象。COM 对象有一个函数 Foo(Long, Long, Rect)。Rect 是在 COM 对象实现中定义的结构。我的 VB6 代码(表单上的一个按钮)如下所示:
Private Sub btnTestCom_Click()
Set ComObj = CreateObject("ObjectName")
Dim rect As DISPLAY_RECT
rect.Left = 20
rect.Top = 20
ComObj.Foo(101, 0, rect) ' Error here
End Sub
在最后一行,它给了我这个编译错误:“只有在公共对象模块中定义的用户定义类型才能被强制转换为变体或从变体强制转换或传递给后期绑定函数”。
其他没有用户定义类型参数的 COM 函数可以正常工作。
我该如何解决这个问题?
谢谢。