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

  • 相关阅读:
    web在线智能四则运算挑战赛
    超简单的实现wordcount
    构建之法现代软件工程自我介绍
    通过WMI获取机器信息
    ManagementObjectSearcher Path
    开启FIPS协议
    Windows Server 2012开启多人远程
    开发企业应用系统需要掌握的知识技能
    Win7系统下彻底删除无用服务的方法
    C#基础(二)之数据类型
  • 原文地址:https://www.cnblogs.com/wanzhongjun/p/10806009.html
Copyright © 2011-2022 走看看