加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从VB6中的函数返回用户定义的类型

发布时间:2020-12-17 07:23:56 所属栏目:百科 来源:网络整理
导读:我是VB的新手.我在网上看到,为了从函数返回,你做了如下的事情 – Private Function Add(ByVal x As Integer,ByVal y As Integer) As Integer Dim Res as integer Res = x + y Add = Res ' use the function's nameEnd Function 我的问题是,这种语法是否也适
我是VB的新手.我在网上看到,为了从函数返回,你做了如下的事情 –

Private Function Add(ByVal x As Integer,ByVal y As Integer) As Integer
    Dim Res as integer
    Res = x + y
    Add = Res       ' use the function's name
End Function

我的问题是,这种语法是否也适用于用户定义的类型?如果没有,那么语法是什么.我试过以下 –

Public Function getDetails() As clsDetails

Dim details As clsDetails

Set details = New clsDetails

With details
   .X = "R"
   .Y = "N"
   .Z = "N"
   ' more code follows
End With

getDetails = details 'gives error-> object variable or with block variable not set

End Function

但是这给了我上面一行的错误 – “对象变量或没有设置块变量”.

我在这做错了什么?

解决方法

我想clsDetails不是UDT,而是一个类.对于定义为对象的变量,您需要使用SET关键字.即:

set getDetails = details

有关使用UDT作为函数返回值或参数的详细信息,请参阅:User Defined Type (UDT) as parameter in public Sub in class module (VB6).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读