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

vb6 – 如何传递参数函数?

发布时间:2020-12-17 00:18:16 所属栏目:大数据 来源:网络整理
导读:如何通过参数传递函数,稍后在VB6中调用? 将是我需要的东西,可以是以下任何选项: Private Sub Command1_Click() Call callMethod(MyPrivateFunction) Call callMethod(MyPublicFunction) Call callMethod(MyPrivateSub) Call callMethod(MyPublicSub)End Su
如何通过参数传递函数,稍后在VB6中调用?
将是我需要的东西,可以是以下任何选项:
Private Sub Command1_Click()

    Call callMethod(MyPrivateFunction)
    Call callMethod(MyPublicFunction)
    Call callMethod(MyPrivateSub)
    Call callMethod(MyPublicSub)

End Sub

Private Function MyPrivateFunction()
    MsgBox "MyPrivateFunction"
End Function

Public Function MyPublicFunction()
    MsgBox "MyPublicFunction"
End Function

Private Sub MyPrivateSub()
    MsgBox "MyPrivateSub"
End Sub

Public Sub MyPublicSub()
    MsgBox "MyPublicSub"
End Sub

Public Function callMethod(ByRef func As Object)
    Call func
End Function
IIRC在VB6中有一个“AddressOf”函数来获取函数地址,但实际上在VB6中实际使用该函数地址可能会很困难.

处理此问题的SOP方法是使用“CallByName()”,它允许通过名称来调用函数等.

最后,您还可以采用标准的OO解决方案来实现这一目标:不要传递函数,而是编写自己的类来实现您自己设计的特殊接口“MyFunctionInterface”.这个接口只有一个方法“FunctionToCall(..)”,你可以在不同的类中实现它来调用你需要的不同函数.然后将其中一个类的实例传递给您的例程,将其作为“MyFunctonInterface”接收并在其上调用“FunctionToCall”方法.当然,这需要进行大量的细微设计变更……

(编辑:李大同)

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

    推荐文章
      热点阅读