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

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:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular