分享

VB 函数 CallByName 的一些用法 (函数动态调用,回调函数)

 尣乂皿 2021-03-06

VB  函数  CallByName (函数动态调用,回调函数) 的一些用法

  最近编程,要用到函数指针来动态地调用函数,在C 语言里很容易实现,用函数指针就行了。

  VB里就没有这么方便了,查阅相关资料,讲起来均很复杂,也不容易明白,其中采用CallByName (函数动态调用,回调函数)是最方便的方法。

  将之归纳为几个例子,应用方法就一目了然了。

  1. Private Sub Command2_Click()
  2. Dim Args(1) As String
  3. Args(0) = '0a'
  4. Args(1) = '1b'
  5. CallByName Me, 'SubBy1', VbMethod, '00aa', '11bb'
  6. Form1.Label1 = (CallByName(Me, 'FunBy2', VbMethod, Args(0), Args(1)))
  7. CallByName Text1, 'Text', VbLet, 'New Text' '设置属性
    Text1.Text = ' rst=' + CallByName(Text1, 'Text', VbGet)  '读属性
CallByName Text1, 'Move', VbMethod, 100, 100, 2000, 500 'move方法
  1. End Sub
  2. Sub SubBy1(s1 As String, s2 As String)
  3. Debug.Print s1 + ' Sub1 ' + s2
  4. End Sub
  5. Function FunBy2(s1 As String, s2 As String) As String
  6. FunBy2 = 'Test2 : ' + s1 + ' Fun 2 ' + s2
  7. End Function

  1. 附:
  2. Visual Basic 语言参考

  3. CallByName 函数

  4. 执行对象的方法,或者设置或返回对象的属性。

  5. Public Function CallByName( _
  6.    ByVal ObjectRef As System.Object, _
  7.    ByVal ProcName As String, _
  8.    ByVal UseCallType As CallType, _
  9.    ByVal Args() As Object _
  10. ) As Object
  11. 参数
  12. ObjectRef
  13. 必选。Object。指向公开属性或方法的对象的指针。

  14. ProcName
  15. 必选。String。包含对象的属性名或方法名的字符串表达式。

  16. UseCallType
  17. 必选。CallType 枚举类型的枚举成员,表示所调用过程的类型。CallType 的值可以是 Method、Get 或 Set。

  18. Args
  19. 可选。ParamArray。参数数组,包含要传递给所调用的属性和方法的参数。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多