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”,点击按钮,即可遍历对象中的成员,显示在列表中,选中某个成员,提示该成员的帮助信息。

  • 相关阅读:
    Jquery里live事件移除原因
    js委托事件-addEventListeners(冒泡方向)
    后端同同不肯给我算好的时间差给我,只好自己写了:
    js滚动到顶部底部代码
    浏览器地址栏运行HTML代码(谷歌)
    黑马vue---56-58、vue组件创建的三种方式
    黑马vue---46、vue使用过渡类名实现动画
    黑马vue---28、vue中全局过滤器的基本使用
    vue devtools无法使用
    红心点赞效果的实现
  • 原文地址:https://www.cnblogs.com/wanzhongjun/p/10806009.html
Copyright © 2011-2022 走看看