首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ParamArray不使用COM

ParamArray不使用COM
EN

Stack Overflow用户
提问于 2010-07-28 15:58:44
回答 1查看 1.1K关注 0票数 3

我有一个类库,它公开如下所示的COM:

代码语言:javascript
复制
<ComClass(SomeClass.ClassId, SomeClass.InterfaceId, SomeClass.EventsId)>
Public Class SomeClass

    Public Const ClassId As String = "GUID1"
    Public Const InterfaceId As String = "GUID2"
    Public Const EventsId As String = "GUID3"

    Public Sub SomeMethod(ByVal ParamArray values() As Object)
        ''//Some Code Here    
    End Sub
End Class

然后,我使用regasm /tlb /codebase注册它。所有方法和属性在VBA/VB6中似乎都正常工作,但当我尝试使用ParamArray访问该方法时,它不会发生事件编译。我知道错误:

编译错误:

函数或被标记为受限的接口,或者该函数使用Visual中不支持的自动化类型。

我需要做什么才能正确地公开这个方法,这样我就可以这样使用它?:

代码语言:javascript
复制
SomeClass.SomeMethod 1, 2, 3
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-28 17:36:04

函数使用Visual中不支持的自动化类型。

责任到此为止,在VB6中没有等效的参数数组。删除ParamArray关键字。VB6代码必须传递一个变体数组。不愉快,考虑重新设计你的课程。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3354807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档