zoukankan      html  css  js  c++  java
  • VB获取对象成员

    VB获取对象成员,包括常量、方法、属性等。

    使用的 TypeLib Information库,一般系统中都有,如果找不到可以百度一下"tlbinf32.dll",下载下来注册就行了。

    一个简单的Demo

    Option Explicit

    Private objCurrent As Object

    Private Sub Command1_Click()
    Call AddListItem(Text1.Text, List1)
    End Sub

    Private Sub AddListItem(objName As String, lst As ListBox)
    On Error GoTo err_exit:
    Dim i As Long
    Dim oTLB As InterfaceInfo
    Dim obj As Object
    Set objCurrent = Nothing
    Set obj = CreateObject(objName)
    Set objCurrent = obj
    Set oTLB = TLI.InterfaceInfoFromObject(obj)

    lst.Clear

    For i = 1 To oTLB.Members.Count
    Select Case oTLB.Members(i).InvokeKind
    Case TLI.INVOKE_CONST '常量
    lst.AddItem oTLB.Members(i).Name
    Case TLI.INVOKE_EVENTFUNC '事件
    lst.AddItem oTLB.Members(i).Name
    Case TLI.INVOKE_FUNC '方法
    lst.AddItem oTLB.Members(i).Name
    Case TLI.INVOKE_PROPERTYGET 'get属性
    lst.AddItem oTLB.Members(i).Name
    Case TLI.INVOKE_PROPERTYPUT 'let属性
    lst.AddItem oTLB.Members(i).Name
    Case TLI.INVOKE_PROPERTYPUTREF 'set属性
    lst.AddItem oTLB.Members(i).Name
    Case TLI.INVOKE_UNKNOWN '未知
    lst.AddItem oTLB.Members(i).Name
    End Select

    Next i
    err_exit:
    End Sub

    Private Function GetHelpString(obj As Object, strMember As String) As String
    ' If obj = Nothing Then
    ' GetHelpString = ""
    ' Exit Function
    ' End
    Dim i As Long
    Dim oTLB As InterfaceInfo
    Set oTLB = TLI.InterfaceInfoFromObject(obj)

    For i = 1 To oTLB.Members.Count
    If oTLB.Members(i).Name = strMember Then
    GetHelpString = oTLB.Members(i).HelpString
    Exit Function
    End If
    Next i
    End Function

    Private Sub List1_Click()
    List1.ToolTipText = GetHelpString(objCurrent, List1.Text)

    Text2.Text = GetHelpString(objCurrent, List1.Text)
    End Sub

    在输入框中输入要创建对象的完整类名,如“scripting.filesystemobject”,点击按钮,即可遍历对象中的成员,显示在列表中,选中某个成员,提示该成员的帮助信息。

  • 相关阅读:
    继承—泛型
    单例模式
    继承 4—Monkey
    继承 3—A B E
    继承 2—people
    继承 1—Mucic
    面向对象—汽车
    面向对象—封装—汽车
    Linux下查看CPU型号,内存大小,硬盘空间的命令
    redis源码——数据结构与对象
  • 原文地址:https://www.cnblogs.com/wanzhongjun/p/10806009.html
Copyright © 2011-2022 走看看