GetMemberType – Check whether an object exposes a property, method, event

' Returns a bit-coded value that specifies the type of' an object's member (property, method, event)' or zero if the member isn't there' Object is the object which you want to work' MemberName is the property, method or event name'' the return value is one of the following'   INVOKE_FUNC (method)'   INVOKE_PROPERTYGET (property get)'   INVOKE_PROPERTYPUT (property let)'   INVOKE_PROPERTYPUTREF (property Set)'   INVOKE_EVENTFUNC (event)'   INVOKE_CONST (const)'   256 is added to INVOKE_FUNC if the method is a function' Be sure that "TypeLib Information" type library (TlbInf32.tlb)' is referenced in your VB project.Function GetMemberType(Object As Object, ByVal MemberName As String) As _    InvokeKinds    Dim TLI As New TLIApplication    Dim Interface As InterfaceInfo    Dim Member As MemberInfo        ' get the default interface of the object    ' any error is returned to the called    Set Interface = TLI.InterfaceInfoFromObject(Object)        ' from now on, errors just return 0    On Error GoTo ErrorHandler        ' search the property    For Each Member In Interface.Members        If StrComp(Member.Name, MemberName, vbTextCompare) = 0 Then            ' add this bit to the result            GetMemberType = GetMemberType Or Member.InvokeKind                        ' different behaviors, depending on member type            Select Case Member.InvokeKind                Case INVOKE_FUNC                    ' it's a method - add 256 if it has a return value                    If Member.ReturnType.VarType <> VT_VOID Then                        GetMemberType = 256 Or INVOKE_FUNC                    End If                    ' nothing else to do                    Exit For                Case INVOKE_PROPERTYGET, INVOKE_PROPERTYPUT, _                    INVOKE_PROPERTYPUTREF                    ' it's a property - the result is bit coded                    GetMemberType = GetMemberType Or Member.InvokeKind                    ' we can't exit until all the members have been parsed                Case Else                    ' just return whatever value we found                    GetMemberType = Member.InvokeKind                    Exit For            End Select        End If    Next        Exit FunctionErrorHandler:    ' an error occurred, return 0    GetMemberType = 0End Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS