Announcement

Collapse

Forum Guidelines

This forum is for finished source code that is working properly. If you have questions about this or any other source code, please post it in one of the Discussion Forums, not here.
See more
See less

Type Library Registrar

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Type Library Registrar

    '--------------------------------------------------------------------------------
    typelib.bas code:
    '--------------------------------------------------------------------------------
    Code:
    '--------------------------------------------------------------------------------
    ' Utility for registering/unregistering type libraries
    ' Author: Peter Redei 10/27/2008
    ' Public Domain
    ' Compiler: PbWin 9.0
    ' Original source: VB Accelerator Steve McMahon 1998-1999
    '--------------------------------------------------------------------------------
    #PBFORMS Created
    '--------------------------------------------------------------------------------
    ' The first line in this file is a PBForms metastatement.
    ' It should ALWAYS be the first line of the file. Other
    ' PBForms metastatements are placed at the beginning and
    ' ending of blocks of code that should be edited using
    ' PBForms only. Do not edit or delete these
    ' metastatements or PBForms will not be able to reread
    ' the file correctly. See the PBForms documentation for
    ' more information.
    ' Beginning blocks begin like this: #PBForms Begin ...
    ' Ending blocks begin like this:    #PBForms End ...
    ' Other PBForms metastatements such as:
    '     #PBForms Declarations
    ' are used to tell PBForms where to insert additional
    ' code. Feel free to make changes anywhere else in the file.
    '--------------------------------------------------------------------------------
    
    #COMPILE EXE
    #DIM ALL
    
    '--------------------------------------------------------------------------------
    '   ** Includes **
    '--------------------------------------------------------------------------------
    #PBFORMS Begin Includes
    #IF NOT %DEF(%WINAPI)
        #INCLUDE "WIN32API.INC"
    #ENDIF
    #PBFORMS End Includes
    '--------------------------------------------------------------------------------
    #INCLUDE "typelib.inc"
    #INCLUDE "registry.inc"
    '--------------------------------------------------------------------------------
    '   ** Constants **
    '--------------------------------------------------------------------------------
    #PBFORMS Begin Constants
    %IDD_DIALOG1    = 101
    %IDC_LABEL1     = 1001
    %IDC_COMBOBOX1  = 1002
    %IDC_BUTTON1    = 1003
    %IDC_LABEL2     = 1004
    %IDC_TEXTBOX1   = 1005
    %IDC_LABEL3     = 1006
    %IDC_TEXTBOX2   = 1007
    %IDC_LABEL4     = 1008
    %IDC_TEXTBOX3   = 1009
    %IDC_CHECKBOX1  = 1010
    %IDC_LABEL5     = 1011
    #PBFORMS End Constants
    '--------------------------------------------------------------------------------
    %SYS_WIN16 = 0&
    %SYS_WIN32 = 1&
    %SYS_MAC = 2&
    
    TYPE ITypeLibVtbl
      QueryInterface    AS DWORD
      AddRef            AS DWORD
      Release           AS DWORD
      '
      ' TypeLib methods
      '
      GetTypeInfoCount  AS DWORD
      GetTypeInfo       AS DWORD
      GetTypeInfoType   AS DWORD
      GetTypeInfoOfGuid AS DWORD
      GetLibAttr        AS DWORD
      GetTypeComp       AS DWORD
      GetDocumentation  AS DWORD
      IsName            AS DWORD
      FindName          AS DWORD
      ReleaseTLibAttr   AS DWORD
    END TYPE
    
    TYPE ITypeLib
      lpVtbl AS ITypeLibVtbl PTR
      COUNT AS DWORD
    END TYPE
    MACRO REFIID    = GUID
    MACRO LCID      = DWORD
    
    DECLARE FUNCTION LoadTypeLib LIB "oleaut32.dll" ALIAS "LoadTypeLib" (lpsz AS BYTE, pptlib AS DWORD) AS LONG
    DECLARE FUNCTION RegisterTypeLib LIB "oleaut32.dll" ALIAS "RegisterTypeLib" _
      ( BYVAL ptlib AS ItypeLib PTR, szFullPath AS ASCIIZ, szHelpDir AS ASCIIZ ) AS LONG
    DECLARE FUNCTION UnRegisterTypeLib LIB "oleaut32.dll" ALIAS "UnRegisterTypeLib" _
     (BYREF libID AS REFIID,BYVAL wVerMajor AS WORD, BYVAL wVerMinor AS WORD, _
     BYVAL lc AS LCID, BYVAL syskind AS DWORD) AS LONG
    DECLARE FUNCTION CLSIDFromString LIB "ole32.dll" ALIAS "CLSIDFromString"(lpsz AS BYTE, pclsid AS GUIDAPI) AS LONG
    '--------------------------------------------------------------------------------
    '   ** Declarations **
    '--------------------------------------------------------------------------------
    DECLARE CALLBACK FUNCTION ShowDIALOG1Proc()
    DECLARE FUNCTION SampleComboBox(BYVAL hDlg AS DWORD, BYVAL lID AS LONG, BYVAL _
        lCount AS LONG) AS LONG
    DECLARE FUNCTION ShowDIALOG1(BYVAL hParent AS DWORD) AS LONG
    #PBFORMS Declarations
    '--------------------------------------------------------------------------------
    GLOBAL chkRegisteredTag AS STRING
    GLOBAL mainhwnd AS DWORD
    GLOBAL oTLI AS Int__TLIApplication
    '--------------------------------------------------------------------------------
    FUNCTION PBMAIN()
        ShowDIALOG1 %HWND_DESKTOP
    END FUNCTION
    '--------------------------------------------------------------------------------
    
    '--------------------------------------------------------------------------------
    '   ** CallBacks **
    '--------------------------------------------------------------------------------
    CALLBACK FUNCTION ShowDIALOG1Proc()
        SELECT CASE CBMSG
            CASE %WM_INITDIALOG
                mainhwnd = CB.HNDL
                oTLI = NEWCOM CLSID $CLSID_TLI_TLIApplication
                IF ISNOTHING(oTLI) THEN
                    MSGBOX "Problem"
                END IF
            CASE %WM_COMMAND
                SELECT CASE CB.CTL
                    CASE %IDC_BUTTON1
                        IF CB.CTLMSG = %BN_CLICKED OR CB.CTLMSG = 1 THEN
                            SelectTLB CB.HNDL
                        END IF
                    CASE %IDC_CHECKBOX1
                        IF CB.CTLMSG =  %BN_CLICKED THEN
                            LOCAL chk AS LONG
                            LOCAL sTmp AS STRING
                            CONTROL GET CHECK CB.HNDL, %IDC_CHECKBOX1 TO chk
                            CONTROL GET TEXT CB.HNDL, %IDC_COMBOBOX1 TO sTmp
                            IF chk = 1 THEN
                                IF %IDYES = MSGBOX("Are you sure you want to register '" & sTmp & "'", %MB_ICONQUESTION OR %MB_YESNO) THEN
                                    RegisterTLB sTmp, %true, %true
                                END IF
                            ELSE
                                IF %IDYES = MSGBOX("Are you sure you want to unregister '" & sTmp & "'", %MB_ICONQUESTION OR %MB_YESNO) THEN
                                    RegisterTLB sTmp, %false, %true
                                END IF
                            END IF
                        END IF
                END SELECT
        END SELECT
    
    END FUNCTION
    SUB StringToByteArray(sText AS STRING, b() AS BYTE)
        REDIM b(0 TO LEN(sText) - 1)
        CALL MoveMemory(BYVAL VARPTR(b(0)), BYVAL STRPTR(sText), LEN(sText))
    END SUB
    '--------------------------------------------------------------------------------
    FUNCTION RegTypelib(BYVAL sLib AS STRING, BYVAL bState AS LONG) AS LONG
        LOCAL strULib AS STRING
        LOCAL suLib() AS BYTE
        LOCAL errOK AS LONG
        
        LOCAL objTLPPTR AS DWORD 'PTR
        IF bState THEN
            ' Translates to Unicode and null terminate
            strULib = UCODE$(sLib & CHR$(0))
            ' convert the string to byte array
            REDIM suLib(0)
            StringToByteArray strULib, suLib()
            ' Pass first byte of the array
            errOK = LoadTypeLib(suLib(0), objTLPPTR)
            IF errOK = 0 THEN
                errOK = RegisterTypeLib(objTLPPTR, BYCOPY strULib, BYVAL 0)
            END IF
            RegTypelib = errOK
       ELSE
            LOCAL cTLI AS Int__TypeLibInfo
            LOCAL tGUID AS GUIDAPI, sCLSID AS STRING
            LOCAL iMajor AS WORD, iMinor AS WORD
            LOCAL l_CID AS lCID
            IF NOT ISNOTHING(oTLI) THEN
                cTLI = oTLI.TypeLibInfoFromFile(UCODE$(sLib))
                sCLSID = cTLI.GUID
                sCLSID = ACODE$(sCLSID)
                iMajor = cTLI.MajorVersion
                iMinor = cTLI.MinorVersion
                l_CID = cTLI.lCID
                cTLI = NOTHING
    
                strULib = UCODE$(sCLSID & CHR$(0))
                REDIM suLib(0)
                StringToByteArray strULib, suLib()
                
                errOK = CLSIDFromString(suLib(0), tGUID)
                IF errOK = 0 THEN
                    errOK = UnRegisterTypeLib(tGUID, iMajor, iMinor, l_CID, %SYS_WIN32)
                    RegTypelib = errOK
                END IF
            END IF
       END IF
    
    END FUNCTION
    
    FUNCTION RegisterTLB(BYVAL sLib AS STRING, BYVAL bState AS LONG, BYVAL bShowMessage AS LONG) AS LONG
        DIM errNo AS LONG
        DIM sPre AS STRING
    
        errNo = RegTypelib(sLib, bState)
        IF bShowMessage THEN
            IF ISTRUE(bState) THEN
                sPre = "Register Type Library "
            ELSE
                sPre = "Unregister Type Library "
            END IF
            IF errNo = 0 THEN
                MSGBOX sPre & sLib & " succeeded.", %MB_ICONINFORMATION
            ELSE
                MSGBOX sPre & sLib & " failed: the error returned was " & HEX$(errNo), %MB_ICONERROR
            END IF
        END IF
        RegisterTLB = errNo
    END FUNCTION
    '--------------------------------------------------------------------------------
    '   ** Dialogs **
    '--------------------------------------------------------------------------------
    FUNCTION ShowDIALOG1(BYVAL hParent AS DWORD) AS LONG
        LOCAL lRslt AS LONG
    #PBFORMS Begin Dialog %IDD_DIALOG1->->
        LOCAL hDlg AS DWORD
    
    
        DIALOG NEW hParent, "Type Library Registrar", 296, 257, 264, 179, %WS_POPUP _
            OR %WS_BORDER OR %WS_DLGFRAME OR %WS_CAPTION OR %WS_SYSMENU OR _
            %WS_MINIMIZEBOX OR %WS_MAXIMIZEBOX OR %WS_CLIPSIBLINGS OR %WS_VISIBLE _
            OR %DS_MODALFRAME OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, _
            %WS_EX_WINDOWEDGE OR %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR _
            %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR, TO hDlg
        CONTROL ADD LABEL, hDlg, %IDC_LABEL1, "Type library:", 5, 5, 100, 10
        CONTROL ADD COMBOBOX, hDlg, %IDC_COMBOBOX1, , 5, 15, 230, 40
        CONTROL ADD BUTTON, hDlg, %IDC_BUTTON1, "..", 235, 15, 20, 10
        CONTROL ADD LABEL, hDlg, %IDC_LABEL2, "Name:", 5, 40, 100, 10
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX1, "", 5, 50, 250, 13, %WS_CHILD OR _
            %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %ES_LEFT OR _
            %ES_AUTOHSCROLL, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD LABEL, hDlg, %IDC_LABEL3, "GUID:", 5, 80, 100, 10
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX2, "", 5, 90, 250, 13, %WS_CHILD OR _
            %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %ES_LEFT OR _
            %ES_AUTOHSCROLL, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD LABEL, hDlg, %IDC_LABEL4, "Version:", 5, 120, 100, 10
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX3, "", 5, 130, 250, 13, %WS_CHILD OR _
            %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %ES_LEFT OR _
            %ES_AUTOHSCROLL, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD CHECKBOX, hDlg, %IDC_CHECKBOX1, "Registered", 5, 155, 50, 10, _
            %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR %BS_AUTOCHECKBOX _
            OR %BS_NOTIFY OR %BS_LEFT OR %BS_VCENTER, %WS_EX_LEFT OR _
            %WS_EX_LTRREADING
        CONTROL ADD LABEL, hDlg, %IDC_LABEL5, "(Check/Uncheck to Register/Unregister)", 60, 155, 200, 10
    #PBFORMS End Dialog
    
        DIALOG SHOW MODAL hDlg, CALL ShowDIALOG1Proc TO lRslt
    
        FUNCTION = lRslt
    END FUNCTION
    '--------------------------------------------------------------------------------
    SUB SelectTLB(BYVAL hParent AS DWORD)
        LOCAL sFile AS STRING
        DISPLAY OPENFILE hParent, , , "Choose Type Library to Register", CHR$(0), CHR$("Type Libraries", 0, "*.TLB;*.OLB;*.DLL", 0), _
                        "", "TLB", %OFN_EXPLORER OR %OFN_FILEMUSTEXIST TO sFile
        IF sFile > "" THEN
            COMBOBOX ADD mainhwnd, %IDC_COMBOBOX1, sFile
            CONTROL SET TEXT mainhwnd, %IDC_COMBOBOX1, sFile
            ShowTLBInfo sFile
        END IF
    END SUB
    SUB ShowTLBInfo(BYVAL sFile AS STRING)
        TRY
            IF sFile = "" THEN
                CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX1, ""
                CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX2, ""
                CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX3, ""
                CONTROL SET CHECK mainhwnd, %IDC_CHECKBOX1, 0
            ELSE
                LOCAL sName AS STRING, sSection AS STRING
                LOCAL cTLI AS Int__TypeLibInfo
                IF NOT ISNOTHING( oTLI) THEN
                    cTLI = oTLI.TypeLibInfoFromFile(UCODE$(sFile))
                END IF
                LOCAL sTemp AS STRING
                sTemp = cTLI.HelpString
                sTemp = ACODE$(cTLI.Name) & " (" & ACODE$(sTemp) & ")"
                CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX1, sTemp
                CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX2, ACODE$(cTLI.GUID)
                CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX3, FORMAT$(cTLI.MajorVersion) & "." & FORMAT$(cTLI.MinorVersion)
                sSection = "TypeLib\" & ACODE$(cTLI.GUID) & "\" & LCASE$(HEX$(cTLI.MajorVersion)) & "." & LCASE$(HEX$(cTLI.MinorVersion))
                sName = cTLI.HelpString
                sName = ACODE$(sName)
                LOCAL sRegValue AS STRING
                sRegValue = GetRegValue(%HKEY_CLASSES_ROOT, sSection, "")
    
                IF sRegValue = sName THEN
                    CONTROL SET CHECK mainhwnd, %IDC_CHECKBOX1, 1
                ELSE
                    CONTROL SET CHECK mainhwnd, %IDC_CHECKBOX1, 0
                END IF
            END IF
        CATCH
            CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX1, ""
            CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX2, ""
            CONTROL SET TEXT mainhwnd, %IDC_TEXTBOX3, ""
            CONTROL SET CHECK mainhwnd, %IDC_CHECKBOX1, 0
        END TRY
    END SUB
    ' end of typelib.bas
    '--------------------------------------------------------------------------------
    typelib.inc code
    The COM Browser created it with errors. I manually needed to fix those, so I submitted this code. I did not report the problem to PowerBasic staff. I hope you will read this and take it as a report.
    '--------------------------------------------------------------------------------
    Code:
    ' Generated by: PowerBASIC COM Browser v.2.00.0058
    ' DateTime    : 10/26/2008 at 9:56 AM
    ' ------------------------------------------------
    ' Library Name: TLI
    ' Library File: C:\WINDOWS\system32\TLBINF32.DLL
    ' Description : TypeLib Information
    ' Help File : C:\WINDOWS\system32\tlbinf32.chm
    ' Help Context : 0
    ' GUID : {8B217740-717D-11CE-AB5B-D41203C10000}
    ' LCID : 0
    ' Version : 1.0
    
    ' Class Indentifiers
    $CLSID_TLI_SearchHelper = GUID$("{8B217752-717D-11CE-AB5B-D41203C10000}")
    $CLSID_TLI_TypeLibInfo = GUID$("{8B217746-717D-11CE-AB5B-D41203C10000}")
    $CLSID_TLI_TLIApplication = GUID$("{8B21775E-717D-11CE-AB5B-D41203C10000}")
    
    ' Interface Indentifiers
    $IID_TLI_Int_VarTypeInfo = GUID$("{8B21774B-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_ParameterInfo = GUID$("{8B217749-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_Parameters = GUID$("{8B21774A-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_MemberInfo = GUID$("{8B217747-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_Members = GUID$("{8B217748-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_InterfaceInfo = GUID$("{8B217741-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int__BaseTypeInfos = GUID$("{8B217750-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_Interfaces = GUID$("{8B217742-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_CoClassInfo = GUID$("{8B217743-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_CoClasses = GUID$("{8B217744-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_ConstantInfo = GUID$("{8B21774D-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_Constants = GUID$("{8B21774C-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_DeclarationInfo = GUID$("{8B21774F-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_Declarations = GUID$("{8B21774E-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int__SearchHelper = GUID$("{8B217751-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_TypeInfo = GUID$("{8B217759-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int__TypeLibInfo = GUID$("{8B217745-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_SearchItem = GUID$("{8B217756-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_SearchResults = GUID$("{8B217757-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_ListBoxNotification = GUID$("{8B217758-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_CustomSort = GUID$("{8B21775F-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_CustomFilter = GUID$("{8B217760-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int__TLIApplication = GUID$("{8B21775D-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_TypeInfos = GUID$("{8B21775A-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_RecordInfo = GUID$("{8B21775B-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_Records = GUID$("{8B21775C-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_IntrinsicAliasInfo = GUID$("{8B217761-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_IntrinsicAliases = GUID$("{8B217762-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_CustomData = GUID$("{8B217763-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_CustomDataCollection = GUID$("{8B217764-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_UnionInfo = GUID$("{8B217765-717D-11CE-AB5B-D41203C10000}")
    $IID_TLI_Int_Unions = GUID$("{8B217766-717D-11CE-AB5B-D41203C10000}")
    
    ' TliErrors enumeration
    %tliErrNoCurrentTypelib = -2147220991
    %tliErrCantLoadLibrary = -2147220990
    %tliErrTypeLibNotRegistered = -2147220989
    %tliErrSearchResultsChanged = -2147220988
    %tliErrNotApplicable = -2147220987
    %tliErrIncompatibleData = -2147220986
    %tliErrIncompatibleSearchType = -2147220985
    %tliErrIncompatibleTypeKind = -2147220984
    %tliErrInaccessibleImportLib = -2147220983
    %tliErrNoDefaultValue = -2147220982
    %tliErrDataNotAvailable = -2147220981
    %tliErrNotAnEntryPoint = -2147220980
    %tliErrStopFiltering = -2147220979
    %tliErrArrayBoundsNotAvailable = -2147220978
    %tliErrSearchResultsNotSorted = -2147220977
    %tliErrTypeNotArray = -2147220976
    
    ' TypeFlags enumeration
    %TYPEFLAG_NONE = 0
    %TYPEFLAG_FAPPOBJECT = 1
    %TYPEFLAG_FCANCREATE = 2
    %TYPEFLAG_FLICENSED = 4
    %TYPEFLAG_FPREDECLID = 8
    %TYPEFLAG_FHIDDEN = 16
    %TYPEFLAG_FCONTROL = 32
    %TYPEFLAG_FDUAL = 64
    %TYPEFLAG_FNONEXTENSIBLE = 128
    %TYPEFLAG_FOLEAUTOMATION = 256
    %TYPEFLAG_FRESTRICTED = 512
    %TYPEFLAG_FAGGREGATABLE = 1024
    %TYPEFLAG_FREPLACEABLE = 2048
    %TYPEFLAG_FDISPATCHABLE = 4096
    %TYPEFLAG_FREVERSEBIND = 8192
    %TYPEFLAG_FPROXY = 16384
    %TYPEFLAG_DEFAULTFILTER = 528
    %TYPEFLAG_COCLASSATTRIBUTES = 1599
    %TYPEFLAG_INTERFACEATTRIBUTES = 31696
    %TYPEFLAG_DISPATCHATTRIBUTES = 23184
    %TYPEFLAG_ALIASATTRIBUTES = 528
    %TYPEFLAG_MODULEATTRIBUTES = 528
    %TYPEFLAG_ENUMATTRIBUTES = 528
    %TYPEFLAG_RECORDATTRIBUTES = 528
    %TYPEFLAG_UNIONATTRIBUTES = 528
    
    ' ImplTypeFlags enumeration
    %IMPLTYPEFLAG_FDEFAULT = 1
    %IMPLTYPEFLAG_FSOURCE = 2
    %IMPLTYPEFLAG_FRESTRICTED = 4
    %IMPLTYPEFLAG_FDEFAULTVTABLE = 8
    
    ' TypeKinds enumeration
    %TKIND_ENUM = 0
    %TKIND_RECORD = 1
    %TKIND_MODULE = 2
    %TKIND_INTERFACE = 3
    %TKIND_DISPATCH = 4
    %TKIND_COCLASS = 5
    %TKIND_ALIAS = 6
    %TKIND_UNION = 7
    %TKIND_MAX = 8
    
    ' FuncFlags enumeration
    %FUNCFLAG_NONE = 0
    %FUNCFLAG_FRESTRICTED = 1
    %FUNCFLAG_FSOURCE = 2
    %FUNCFLAG_FBINDABLE = 4
    %FUNCFLAG_FREQUESTEDIT = 8
    %FUNCFLAG_FDISPLAYBIND = 16
    %FUNCFLAG_FDEFAULTBIND = 32
    %FUNCFLAG_FHIDDEN = 64
    %FUNCFLAG_FUSESGETLASTERROR = 128
    %FUNCFLAG_FDEFAULTCOLLELEM = 256
    %FUNCFLAG_FUIDEFAULT = 512
    %FUNCFLAG_FNONBROWSABLE = 1024
    %FUNCFLAG_FREPLACEABLE = 2048
    %FUNCFLAG_FIMMEDIATEBIND = 4096
    %FUNCFLAG_DEFAULTFILTER = 65
    
    ' VarFlags enumeration
    %VARFLAG_NONE = 0
    %VARFLAG_FREADONLY = 1
    %VARFLAG_FSOURCE = 2
    %VARFLAG_FBINDABLE = 4
    %VARFLAG_FREQUESTEDIT = 8
    %VARFLAG_FDISPLAYBIND = 16
    %VARFLAG_FDEFAULTBIND = 32
    %VARFLAG_FHIDDEN = 64
    %VARFLAG_FRESTRICTED = 128
    %VARFLAG_FDEFAULTCOLLELEM = 256
    %VARFLAG_FUIDEFAULT = 512
    %VARFLAG_FNONBROWSABLE = 1024
    %VARFLAG_FREPLACEABLE = 2048
    %VARFLAG_FIMMEDIATEBIND = 4096
    %VARFLAG_DEFAULTFILTER = 192
    
    ' SysKinds enumeration
    %SYS_WIN16 = 0
    %SYS_WIN32 = 1
    %SYS_MAC = 2
    
    ' LibFlags enumeration
    %LIBFLAG_FRESTRICTED = 1
    %LIBFLAG_FCONTROL = 2
    %LIBFLAG_FHIDDEN = 4
    %LIBFLAG_FHASDISKIMAGE = 8
    
    ' InvokeKinds enumeration
    %INVOKE_UNKNOWN = 0
    %INVOKE_FUNC = 1
    %INVOKE_PROPERTYGET = 2
    %INVOKE_PROPERTYPUT = 4
    %INVOKE_PROPERTYPUTREF = 8
    %INVOKE_EVENTFUNC = 16
    %INVOKE_CONST = 32
    
    ' IDLFlags enumeration
    %IDLFLAG_NONE = 0
    %IDLFLAG_FIN = 1
    %IDLFLAG_FOUT = 2
    %IDLFLAG_FLCID = 4
    %IDLFLAG_FRETVAL = 8
    
    ' ParamFlags enumeration
    %PARAMFLAG_NONE = 0
    %PARAMFLAG_FIN = 1
    %PARAMFLAG_FOUT = 2
    %PARAMFLAG_FLCID = 4
    %PARAMFLAG_FRETVAL = 8
    %PARAMFLAG_FOPT = 16
    %PARAMFLAG_FHASDEFAULT = 32
    %PARAMFLAG_FHASCUSTDATA = 64
    
    ' DescKinds enumeration
    %DESCKIND_NONE = 0
    %DESCKIND_FUNCDESC = 1
    %DESCKIND_VARDESC = 2
    
    ' TliVarType enumeration
    %VT_EMPTY = 0
    %VT_NULL = 1
    %VT_I2 = 2
    %VT_I4 = 3
    %VT_R4 = 4
    %VT_R8 = 5
    %VT_CY = 6
    %VT_DATE = 7
    %VT_BSTR = 8
    %VT_DISPATCH = 9
    %VT_ERROR = 10
    %VT_BOOL = 11
    %VT_VARIANT = 12
    %VT_UNKNOWN = 13
    %VT_DECIMAL = 14
    %VT_I1 = 16
    %VT_UI1 = 17
    %VT_UI2 = 18
    %VT_UI4 = 19
    %VT_I8 = 20
    %VT_UI8 = 21
    %VT_INT = 22
    %VT_UINT = 23
    %VT_VOID = 24
    %VT_HRESULT = 25
    %VT_PTR = 26
    %VT_SAFEARRAY = 27
    %VT_CARRAY = 28
    %VT_USERDEFINED = 29
    %VT_LPSTR = 30
    %VT_LPWSTR = 31
    %VT_RECORD = 36
    %VT_FILETIME = 64
    %VT_BLOB = 65
    %VT_STREAM = 66
    %VT_STORAGE = 67
    %VT_STREAMED_OBJECT = 68
    %VT_STORED_OBJECT = 69
    %VT_BLOB_OBJECT = 70
    %VT_CF = 71
    %VT_CLSID = 72
    %VT_VECTOR = 4096
    %VT_ARRAY = 8192
    %VT_BYREF = 16384
    %VT_RESERVED = 32768
    
    ' TliSearchTypes enumeration
    %tliStDefault = 4096
    %tliStClasses = 1
    %tliStEvents = 2
    %tliStConstants = 4
    %tliStDeclarations = 8
    %tliStAppObject = 16
    %tliStRecords = 32
    %tliStIntrinsicAliases = 64
    %tliStUnions = 128
    %tliStAll = 239
    
    ' TliWindowTypes enumeration
    %tliWtListBox = 0
    %tliWtComboBox = 1
    
    ' TliItemDataTypes enumeration
    %tliIdtMemberID = 0
    %tliIdtInvokeKinds = 1
    
    ' TliCustomFilterAction enumeration
    %tliCfaLeave = 0
    %tliCfaDuplicate = 1
    %tliCfaExtract = 2
    %tliCfaDelete = 3
    
    ' CallConvs enumeration
    %CC_FASTCALL = 0
    %CC_CDECL = 1
    %CC_MSCPASCAL = 2
    %CC_PASCAL = 2
    %CC_MACPASCAL = 3
    %CC_STDCALL = 4
    %CC_FPFASTCALL = 5
    %CC_SYSCALL = 6
    %CC_MPWCDECL = 7
    %CC_MPWPASCAL = 8
    %CC_MAX = 9
    
    
    ' Interface Name  : Int_VarTypeInfo
    ' Description     : VarType information for parameters and return types
    INTERFACE Int_VarTypeInfo $IID_TLI_Int_VarTypeInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_VarTypeInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET PropGet__OldVarType <1610743810> () AS LONG
        PROPERTY GET TypeInfo <1610743811> () AS Int_TypeInfo
        PROPERTY GET TypeInfoNumber <1610743812> () AS INTEGER
        PROPERTY GET TypedVariant <1610743813> () AS VARIANT
        PROPERTY GET IsExternalType <1610743814> () AS INTEGER
        PROPERTY GET TypeLibInfoExternal <1610743815> () AS IDISPATCH
        PROPERTY GET PointerLevel <1610743816> () AS INTEGER
        PROPERTY GET VarType <0> () AS LONG
        METHOD ArrayBounds <1610743818> () AS INTEGER '_Int_VarTypeInfo = GUID$("{8B21774B-717D-11CE-AB5B-D41203C10000}")) As Integer
        PROPERTY GET ElementPointerLevel <1610743819> () AS INTEGER
    END INTERFACE
    
    ' Interface Name  : Int_ParameterInfo
    ' Description     : Parameter Information
    INTERFACE Int_ParameterInfo $IID_TLI_Int_ParameterInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_ParameterInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET OPTIONAL <1610743811> () AS INTEGER
        PROPERTY GET PropGet__OldFlags <1610743812> () AS LONG
        PROPERTY GET VarTypeInfo <1610743813> () AS Int_VarTypeInfo
        PROPERTY GET DEFAULT <1610743814> () AS INTEGER
        PROPERTY GET DefaultValue <1610743815> () AS VARIANT
        PROPERTY GET HasCustomData <1610743816> () AS INTEGER
        PROPERTY GET CustomDataCollection <1610743817> () AS Int_CustomDataCollection
        PROPERTY GET Flags <1610743818> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_Parameters
    ' Description     : Parameters Collection
    INTERFACE Int_Parameters $IID_TLI_Int_Parameters
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_Parameters
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET ITEM <0> ()  AS Int_ParameterInfo '_Int_VarTypeInfo = GUID$("{8B21774B-717D-11CE-AB5B-D41203C10000}")) As Int_ParameterInfo
        PROPERTY GET COUNT <1610743812> () AS INTEGER
        PROPERTY GET OptionalCount <1610743813> () AS INTEGER
        PROPERTY GET DefaultCount <1610743814> () AS INTEGER
    END INTERFACE
    
    ' Interface Name  : Int_MemberInfo
    ' Description     : MemberInfo object
    INTERFACE Int_MemberInfo $IID_TLI_Int_MemberInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_MemberInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743811> () AS STRING
        PROPERTY GET HelpContext <1610743812> () AS LONG
        PROPERTY GET HelpFile <1610743813> () AS STRING
        PROPERTY GET Parameters <1610743814> () AS Int_Parameters
        PROPERTY GET ReturnType <1610743815> () AS Int_VarTypeInfo
        PROPERTY GET AttributeMask <1610743816> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743817> () AS INTEGER    '_Int_VarTypeInfo = GUID$("{8B21774B-717D-11CE-AB5B-D41203C10000}")) As _INTEGER
        PROPERTY GET PropGet__OldDescKind <1610743818> () AS LONG
        PROPERTY GET Value <1610743819> () AS VARIANT
        PROPERTY GET MemberId <1610743820> () AS LONG
        PROPERTY GET VTableOffset <1610743821> () AS INTEGER
        PROPERTY GET InvokeKind <1610743822> () AS LONG
        PROPERTY GET CustomDataCollection <1610743823> () AS Int_CustomDataCollection
        PROPERTY GET DescKind <1610743824> () AS LONG
        METHOD GetDllEntry <1610743825> (BYREF EntryName AS _
            STRING, BYREF Ordinal AS INTEGER)
        PROPERTY GET HelpString <1610743826> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringDll <1610743827> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743828> () AS LONG
        PROPERTY GET CallConv <1610743829> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_Members
    ' Description     : Members Collection
    INTERFACE Int_Members $IID_TLI_Int_Members
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_Members
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_MemberInfo
        PROPERTY GET COUNT <1610743812> () AS INTEGER
        PROPERTY SET FuncFilter <1610743813> (BYVAL retVal AS LONG)
        PROPERTY GET FuncFilter <1610743813> () AS LONG
        PROPERTY SET VarFilter <1610743815> (BYVAL retVal AS LONG)
        PROPERTY GET VarFilter <1610743815> () AS LONG
        METHOD Meth__OldFillList <1610743817> ()
        PROPERTY GET GetFilteredMembers <1610743818> (OPT BYVAL ShowUnderscore AS INTEGER) AS Int_SearchResults
        METHOD GetFilteredMembersDirect <1610743819> (BYVAL hWnd AS LONG, OPT BYVAL WindowType AS LONG, OPT BYVAL ItemDataType _
            AS LONG, BYVAL Index AS VARIANT) AS INTEGER
    END INTERFACE
    
    ' Interface Name  : Int_InterfaceInfo
    ' Description     : Members are a subset of TypeInfo object members.
    INTERFACE Int_InterfaceInfo $IID_TLI_Int_InterfaceInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_InterfaceInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (BYVAL Index AS VARIANT) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        PROPERTY GET VTableInterface <1610743820> () AS Int_InterfaceInfo
        PROPERTY GET GetMember <1610743821> (BYVAL Index AS VARIANT) AS Int_MemberInfo
        PROPERTY GET Members <1610743822> () AS Int_Members
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        PROPERTY GET ImpliedInterfaces <1610743824> () AS Int_Interfaces
        METHOD Meth__DefaultInterface <1610743825> ()
        METHOD Meth__DefaultEventInterface <1610743826> ()
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int__BaseTypeInfos
    INTERFACE Int__BaseTypeInfos $IID_TLI_Int__BaseTypeInfos
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
    END INTERFACE
    
    ' Interface Name  : Int_Interfaces
    ' Description     : Subset of TypeInfos collection.
    INTERFACE Int_Interfaces $IID_TLI_Int_Interfaces
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_InterfaceInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_InterfaceInfo
        PROPERTY GET NamedItem <1610809346> (OPT BYVAL LCID AS LONG) AS Int_InterfaceInfo
    END INTERFACE
    
    ' Interface Name  : Int_CoClassInfo
    ' Description     : Members are a subset of TypeInfo object members.
    INTERFACE Int_CoClassInfo $IID_TLI_Int_CoClassInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_CoClassInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (OPT BYVAL LCID AS LONG) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        METHOD Meth__placeholder_VTableInterface <1610743820> ()
        METHOD Meth__placeholder_GetMember <1610743821> ()
        METHOD Meth__placeholder_Members <1610743822> ()
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        PROPERTY GET Interfaces <1610743824> () AS Int_Interfaces
        PROPERTY GET DefaultInterface <1610743825> () AS Int_InterfaceInfo
        PROPERTY GET DefaultEventInterface <1610743826> () AS Int_InterfaceInfo
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_CoClasses
    ' Description     : Subset of TypeInfos collection.
    INTERFACE Int_CoClasses $IID_TLI_Int_CoClasses
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_CoClassInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_CoClassInfo
        PROPERTY GET NamedItem <1610809346> (BYVAL Index AS VARIANT) AS Int_CoClassInfo
    END INTERFACE
    
    ' Interface Name  : Int_ConstantInfo
    ' Description     : Members are a subset of TypeInfo object members.
    INTERFACE Int_ConstantInfo $IID_TLI_Int_ConstantInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (BYVAL Index AS VARIANT) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        METHOD Meth__placeholder_VTableInterface <1610743820> ()
        PROPERTY GET GetMember <1610743821> (BYVAL Index AS VARIANT) AS Int_MemberInfo
        PROPERTY GET Members <1610743822> () AS Int_Members
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        METHOD Meth__ImpliedInterfaces <1610743824> ()
        METHOD Meth__DefaultInterface <1610743825> ()
        METHOD Meth__DefaultEventInterface <1610743826> ()
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_Constants
    ' Description     : Subset of TypeInfos collection.
    INTERFACE Int_Constants $IID_TLI_Int_Constants
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_ConstantInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_ConstantInfo
        PROPERTY GET NamedItem <1610809346> (BYVAL Index AS VARIANT) AS Int_ConstantInfo
    END INTERFACE
    
    ' Interface Name  : Int_DeclarationInfo
    ' Description     : Members are a subset of TypeInfo object members.
    INTERFACE Int_DeclarationInfo $IID_TLI_Int_DeclarationInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_DeclarationInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (BYVAL Index AS VARIANT) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        METHOD Meth__placeholder_VTableInterface <1610743820> ()
        PROPERTY GET GetMember <1610743821> (BYVAL Index AS VARIANT) AS Int_MemberInfo
        PROPERTY GET Members <1610743822> () AS Int_Members
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        METHOD Meth__ImpliedInterfaces <1610743824> ()
        METHOD Meth__DefaultInterface <1610743825> ()
        METHOD Meth__DefaultEventInterface <1610743826> ()
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_Declarations
    ' Description     : Subset of TypeInfos collection.
    INTERFACE Int_Declarations $IID_TLI_Int_Declarations
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_DeclarationInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_DeclarationInfo
        PROPERTY GET NamedItem <1610809346> (BYVAL TypeInfoName AS STRING PTR) AS Int_DeclarationInfo
    END INTERFACE
    
    ' Interface Name  : Int__SearchHelper
    ' Description     : Helper object for GetMembersWithSubString and multiple TypeLibs
    ' ClassID         : $CLSID_TLI_SearchHelper
    INTERFACE Int__SearchHelper $IID_TLI_Int__SearchHelper
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS IDISPATCH
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__OldInit <1610743810> ()
        PROPERTY GET CheckHaveMatch <1610743811> (BYVAL PB_Name AS STRING) AS INTEGER
        PROPERTY GET Init <1610743812> (BYVAL SysKind AS LONG, BYVAL Index AS VARIANT) AS INTEGER
    END INTERFACE
    
    ' Interface Name  : Int_TypeInfo
    ' Description     : TypeInfo Information
    INTERFACE Int_TypeInfo $IID_TLI_Int_TypeInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (BYVAL Index AS VARIANT) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        PROPERTY GET VTableInterface <1610743820> () AS Int_InterfaceInfo
        PROPERTY GET GetMember <1610743821> (BYVAL Index AS VARIANT) AS Int_MemberInfo
        PROPERTY GET Members <1610743822> () AS Int_Members
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        PROPERTY GET Interfaces <1610743824> () AS Int_Interfaces
        PROPERTY GET DefaultInterface <1610743825> () AS Int_InterfaceInfo
        PROPERTY GET DefaultEventInterface <1610743826> () AS Int_InterfaceInfo
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int__TypeLibInfo
    ' Description     : TypeLib information
    ' ClassID         : $CLSID_TLI_TypeLibInfo
    INTERFACE Int__TypeLibInfo $IID_TLI_Int__TypeLibInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS IDISPATCH
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET ContainingFile <1610743810> () AS STRING
        PROPERTY SET ContainingFile <1610743810> (BYVAL retVal AS STRING)
        METHOD LoadRegTypeLib <1610743812> (BYVAL TypeLibGuid AS STRING, BYVAL MajorVersion AS INTEGER, BYVAL PB_Name AS STRING, _
            BYVAL CheckLib AS IDISPATCH)
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743814> () AS STRING
        PROPERTY GET HelpContext <1610743815> () AS LONG
        PROPERTY GET HelpFile <1610743816> () AS STRING
        PROPERTY GET GUID <1610743817> () AS STRING
        PROPERTY GET LCID <1610743818> () AS LONG
        PROPERTY GET PropGet__OldSysKind <1610743819> () AS LONG
        PROPERTY GET MajorVersion <1610743820> () AS INTEGER
        PROPERTY GET MinorVersion <1610743821> () AS INTEGER
        PROPERTY GET AttributeMask <1610743822> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743823> (BYVAL PB_Name AS STRING) AS INTEGER
        PROPERTY GET CoClasses <1610743824> () AS Int_CoClasses
        PROPERTY GET Interfaces <1610743825> () AS Int_Interfaces
        PROPERTY GET Constants <1610743826> () AS Int_Constants
        PROPERTY GET Declarations <1610743827> () AS Int_Declarations
        PROPERTY GET TypeInfoCount <1610743828> () AS INTEGER
        PROPERTY GET PropGet__OldGetTypeKind <1610743829> () AS LONG
        METHOD Hidden1()
        PROPERTY GET GetTypeInfoNumber <1610743831> (BYVAL PB_Name AS STRING) AS INTEGER
        METHOD IsSameLibrary <1610743832> (BYVAL CheckLib AS IDISPATCH) AS INTEGER
        METHOD Meth__OldResetSearchCriteria <1610743833> ()
        METHOD Meth__OldGetTypesWithMember <1610743834> ()
        METHOD Meth__OldGetMembersWithSubString <1610743835> ()
        METHOD Meth__OldGetTypesWithSubString <1610743836> ()
        METHOD Meth__OldCaseTypeName <1610743837> ()
        METHOD Meth__OldCaseMemberName <1610743838> ()
        METHOD Meth__OldFillTypesList <1610743839> ()
        METHOD Meth__OldFillTypesCombo <1610743840> ()
        METHOD Meth__OldFillMemberList <1610743841> ()
        METHOD Meth__OldAddClassTypeToList <1610743842> ()
        PROPERTY SET AppObjString <1610743843> (BYVAL retVal AS STRING)
        PROPERTY SET LibNum <1610743844> (BYVAL retVal AS INTEGER)
        PROPERTY GET ShowLibName <1610743845> () AS INTEGER
        PROPERTY SET ShowLibName <1610743845> (BYVAL retVal AS INTEGER)
        PROPERTY SET PutRef__OldListBoxNotification <1610743847> (BYVAL Rhs AS Int_ListBoxNotification)
        PROPERTY GET GetTypeKind <1610743848> (BYVAL TypeInfoNumber AS INTEGER) AS LONG
        PROPERTY GET SysKind <1610743849> () AS LONG
        PROPERTY GET SearchDefault <1610743850> () AS LONG
        PROPERTY SET SearchDefault <1610743850> (BYVAL retVal AS LONG)
        METHOD CaseTypeName <1610743852> (BYREF IN bstrName AS STRING, OPT BYVAL SearchType AS LONG) AS LONG
        METHOD CaseMemberName <1610743853> (BYREF IN bstrName AS STRING, OPT BYVAL SearchType AS LONG) AS INTEGER
        METHOD ResetSearchCriteria <1610743854> (OPT BYVAL TypeFilter AS LONG, OPT BYVAL IncludeEmptyTypes AS INTEGER, OPT BYVAL _
            ShowUnderscore AS INTEGER)
        METHOD GetTypesWithMember <1610743855> (BYVAL MemberName AS STRING, OPT BYREF IN StartResults AS Int_SearchResults, OPT _
            BYVAL SearchType AS LONG, OPT BYVAL PB_Sort AS INTEGER, OPT BYVAL ShowUnderscore AS INTEGER) AS Int_SearchResults
        METHOD GetTypesWithMemberDirect <1610743856> (BYVAL MemberName AS STRING, BYVAL hWnd AS LONG, OPT BYVAL WindowType AS _
            LONG, OPT BYVAL SearchType AS LONG, OPT BYVAL ShowUnderscore AS INTEGER) AS INTEGER
        METHOD GetMembersWithSubString <1610743857> (BYVAL SubString AS STRING, OPT BYREF IN StartResults AS Int_SearchResults, _
            OPT BYVAL SearchType AS LONG, OPT BYVAL SearchMiddle AS INTEGER, OPT BYREF IN Helper AS IDISPATCH, OPT BYVAL _
            PB_Sort AS INTEGER, OPT BYVAL ShowUnderscore AS INTEGER) AS Int_SearchResults
        METHOD GetMembersWithSubStringDirect <1610743858> (BYVAL SubString AS STRING, BYVAL hWnd AS LONG, OPT BYVAL WindowType _
            AS LONG, OPT BYVAL SearchType AS LONG, OPT BYVAL SearchMiddle AS INTEGER, OPT BYREF IN Helper AS IDISPATCH, OPT _
            BYVAL ShowUnderscore AS INTEGER) AS INTEGER
        METHOD GetTypesWithSubString <1610743859> (BYVAL SubString AS STRING, OPT BYREF IN StartResults AS Int_SearchResults, _
            OPT BYVAL SearchType AS LONG, OPT BYVAL SearchMiddle AS INTEGER, OPT BYVAL PB_Sort AS INTEGER) AS Int_SearchResults
        METHOD GetTypesWithSubStringDirect <1610743860> (BYVAL SubString AS STRING, BYVAL hWnd AS LONG, OPT BYVAL WindowType AS _
            LONG, OPT BYVAL SearchType AS LONG, OPT BYVAL SearchMiddle AS INTEGER) AS INTEGER
        METHOD GetTypes <1610743861> (OPT BYREF IN StartResults AS Int_SearchResults, OPT BYVAL SearchType AS LONG, OPT BYVAL _
            PB_Sort AS INTEGER) AS Int_SearchResults
        METHOD GetTypesDirect <1610743862> (BYVAL hWnd AS LONG, OPT BYVAL WindowType AS LONG, OPT BYVAL SearchType AS LONG) AS _
            INTEGER
        METHOD GetMembers <1610743863> (BYVAL SearchData AS LONG, OPT BYVAL ShowUnderscore AS INTEGER) AS Int_SearchResults
        METHOD GetMembersDirect <1610743864> (BYVAL SearchData AS LONG, BYVAL hWnd AS LONG, OPT BYVAL WindowType AS LONG, OPT _
            BYVAL ItemDataType AS LONG, OPT BYVAL ShowUnderscore AS INTEGER) AS INTEGER
        METHOD SetMemberFilters <1610743865> (OPT BYVAL FuncFilter AS LONG, OPT BYVAL VarFilter AS LONG)
        METHOD MakeSearchData <1610743866> (BYVAL TypeInfoName AS STRING, OPT BYVAL SearchType AS LONG) AS LONG
        PROPERTY GET TypeInfos <1610743867> () AS Int_TypeInfos
        PROPERTY GET RECORDS <1610743868> () AS Int_Records
        PROPERTY GET IntrinsicAliases <1610743869> () AS Int_IntrinsicAliases
        PROPERTY GET CustomDataCollection <1610743870> () AS Int_CustomDataCollection
        METHOD GetMemberInfo <1610743871> (BYVAL SearchData AS LONG, OPT BYVAL InvokeKinds AS LONG, OPT BYVAL MemberId AS LONG, _
            OPT BYVAL MemberName AS STRING) AS Int_MemberInfo
        PROPERTY GET Unions <1610743872> () AS Int_Unions
        METHOD AddTypes <1610743873> (BYVAL TypeInfoNumbers AS DWORD, OPT BYREF IN StartResults AS Int_SearchResults, OPT BYVAL _
            SearchType AS LONG, OPT BYVAL PB_Sort AS INTEGER) AS Int_SearchResults
        METHOD AddTypesDirect <1610743874> (BYVAL TypeInfoNumbers AS DWORD, BYVAL hWnd AS LONG, OPT BYVAL WindowType AS LONG, _
            OPT BYVAL SearchType AS LONG) AS INTEGER
        METHOD FreeSearchCriteria <1610743875> ()
        METHOD REGISTER <1610743876> (OPT BYVAL HelpDir AS STRING)
        METHOD UnRegister <1610743877> ()
        PROPERTY GET HelpString <1610743878> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET AppObjString <1610743843> () AS STRING
        PROPERTY GET LibNum <1610743844> () AS INTEGER
        METHOD GetMembersWithSubStringEx <1610743881> (BYVAL SubString AS STRING, BYVAL InvokeGroupings AS DWORD, OPT BYREF IN _
            StartResults AS Int_SearchResults, OPT BYVAL SearchType AS LONG, OPT BYVAL SearchMiddle AS INTEGER, OPT BYVAL _
            PB_Sort AS INTEGER, OPT BYVAL ShowUnderscore AS INTEGER) AS Int_SearchResults
        METHOD GetTypesWithMemberEx <1610743882> (BYVAL MemberName AS STRING, BYVAL InvokeKind AS LONG, OPT BYREF IN _
            StartResults AS Int_SearchResults, OPT BYVAL SearchType AS LONG, OPT BYVAL PB_Sort AS INTEGER, OPT BYVAL _
            ShowUnderscore AS INTEGER) AS Int_SearchResults
        PROPERTY GET ITypeLib <1610743883> () AS IUNKNOWN
        PROPERTY SET PutRef_ITypeLib <1610743883> (BYVAL retVal AS IUNKNOWN)
        PROPERTY GET HelpStringDll <1610743885> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743886> () AS LONG
        PROPERTY GET BestEquivalentType <1610743887> (BYVAL TypeInfoName AS STRING) AS STRING
    END INTERFACE
    
    ' Interface Name  : Int_SearchItem
    ' Description     : Item in SearchResults collection
    INTERFACE Int_SearchItem $IID_TLI_Int_SearchItem
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_SearchItem
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET SearchData <1610743811> () AS LONG
        PROPERTY GET TypeInfoNumber <1610743812> () AS INTEGER
        PROPERTY GET PropGet__OldLibNum <1610743813> () AS BYTE
        PROPERTY GET SearchType <1610743814> () AS LONG
        PROPERTY GET MemberId <1610743815> () AS LONG
        PROPERTY GET InvokeKinds <1610743816> () AS LONG
        PROPERTY GET NamePtrW <1610743817> () AS LONG
        PROPERTY GET LibNum <1610743818> () AS INTEGER
        PROPERTY GET Constant <1610743819> () AS INTEGER
        PROPERTY GET HIDDEN <1610743820> () AS INTEGER
        PROPERTY GET InvokeGroup <1610743821> () AS INTEGER
    END INTERFACE
    
    ' Interface Name  : Int_SearchResults
    ' Description     : SearchResults collection
    INTERFACE Int_SearchResults $IID_TLI_Int_SearchResults
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_SearchResults
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET PropGet__OldItem <1610743811> (BYVAL Index AS INTEGER) AS Int_SearchItem
        PROPERTY GET PropGet__OldCount <1610743812> () AS INTEGER
        PROPERTY GET Sorted <1610743813> () AS INTEGER
        METHOD SORT <1610743814> (OPT BYVAL CustomSort AS Int_CustomSort)
        METHOD Filter <1610743815> (BYVAL CustomFilter AS Int_CustomFilter, OPT BYREF IN AppendExtractedTo AS Int_SearchResults, _
            OPT BYVAL StartAfter AS Int_SearchItem) AS Int_SearchResults
        PROPERTY GET ITEM <0> (BYVAL Index AS LONG) AS Int_SearchItem
        PROPERTY GET COUNT <1610743817> () AS LONG
        METHOD LocateSorted <1610743818> (BYVAL CustomSort AS Int_CustomSort) AS LONG
        METHOD Locate <1610743819> (OPT BYVAL SearchString AS STRING, OPT BYVAL CustomSort AS Int_CustomSort, OPT BYVAL _
            StartAfter AS LONG) AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_ListBoxNotification
    ' Description     : ListBoxNotification interface, use with Implements and Direct methods
    INTERFACE Int_ListBoxNotification $IID_TLI_Int_ListBoxNotification
        INHERIT IDISPATCH
    
        METHOD OnAddString <1610743808> (BYVAL lpstr AS LONG, BYVAL fUnicode AS INTEGER)
    END INTERFACE
    
    ' Interface Name  : Int_CustomSort
    ' Description     : Interface for custom sorting of a SearchResults collection, use with Implements
    INTERFACE Int_CustomSort $IID_TLI_Int_CustomSort
        INHERIT IDISPATCH
    
        METHOD Compare <1610743808> (BYVAL Item1 AS Int_SearchItem, BYVAL Item2 AS Int_SearchItem, BYREF IN Compare AS LONG)
    END INTERFACE
    
    ' Interface Name  : Int_CustomFilter
    ' Description     : Interface for modifying or splitting a SearchResults collection, use with Implements
    INTERFACE Int_CustomFilter $IID_TLI_Int_CustomFilter
        INHERIT IDISPATCH
    
        METHOD Visit <1610743808> (BYVAL ITEM AS Int_SearchItem, BYREF IN Action AS LONG)
    END INTERFACE
    
    ' Interface Name  : Int__TLIApplication
    ' Description     : TLIApplication object
    ' ClassID         : $CLSID_TLI_TLIApplication
    INTERFACE Int__TLIApplication $IID_TLI_Int__TLIApplication
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS IDISPATCH
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD TypeLibInfoFromFile <1610743810> (BYVAL FileName AS STRING) AS IDISPATCH
        METHOD InterfaceInfoFromObject <1610743811> (BYVAL PB_Object AS IDISPATCH) AS Int_InterfaceInfo
        PROPERTY GET ListBoxNotification <1610743812> () AS Int_ListBoxNotification
        PROPERTY SET PutRef_ListBoxNotification <1610743812> (BYVAL retVal AS Int_ListBoxNotification)
        PROPERTY GET ResolveAliases <1610743814> () AS INTEGER
        PROPERTY SET ResolveAliases <1610743814> (BYVAL retVal AS INTEGER)
        METHOD InvokeHook <1610743816> (BYVAL PB_Object AS IDISPATCH, BYVAL NameOrID AS VARIANT, BYVAL InvokeKind AS LONG, BYVAL _
            ReverseArgList AS DWORD) AS VARIANT
        METHOD InvokeHookArray <1610743817> (BYVAL PB_Object AS IDISPATCH, BYVAL NameOrID AS VARIANT, BYVAL InvokeKind AS LONG, _
            BYVAL ReverseArgList AS DWORD) AS VARIANT
        METHOD InvokeHookSub <1610743818> (BYVAL PB_Object AS IDISPATCH, BYVAL NameOrID AS VARIANT, BYVAL InvokeKind AS LONG, _
            BYVAL ReverseArgList AS DWORD)
        METHOD InvokeHookArraySub <1610743819> (BYVAL PB_Object AS IDISPATCH, BYVAL NameOrID AS VARIANT, BYVAL InvokeKind AS _
            LONG, BYVAL ReverseArgList AS DWORD)
        METHOD ClassInfoFromObject <1610743820> (BYVAL PB_Object AS IUNKNOWN) AS Int_TypeInfo
        METHOD InvokeID <1610743821> (BYVAL PB_Object AS IDISPATCH, BYVAL PB_Name AS STRING) AS LONG
        PROPERTY GET InvokeLCID <1610743822> () AS LONG
        PROPERTY SET InvokeLCID <1610743822> (BYVAL retVal AS LONG)
        METHOD TypeInfoFromITypeInfo <1610743824> (BYVAL ptinfo AS IUNKNOWN) AS Int_TypeInfo
        METHOD TypeLibInfoFromITypeLib <1610743825> (BYVAL pITypeLib AS IUNKNOWN) AS IDISPATCH
        METHOD TypeLibInfoFromRegistry <1610743826> (BYVAL TypeLibGuid AS STRING, BYVAL MajorVersion AS INTEGER, BYVAL _
            MinorVersion AS INTEGER, BYVAL LCID AS LONG) AS IDISPATCH
        METHOD TypeInfoFromRecordVariant <1610743827> (BYREF IN RecordVariant AS VARIANT) AS Int_TypeInfo
        PROPERTY GET RecordField <1610743828> (BYVAL RecordVariant AS VARIANT PTR, BYREF IN FieldName AS STRING) AS VARIANT
        PROPERTY SET RecordField <1610743828> (BYVAL RecordVariant AS VARIANT PTR, BYREF IN FieldName AS STRING, BYREF IN retVal _
            AS VARIANT)
        PROPERTY SET PutRef_RecordField <1610743828> (BYVAL RecordVariant AS VARIANT PTR, BYREF IN FieldName AS STRING, BYREF IN _
            retVal AS VARIANT)
    END INTERFACE
    
    ' Interface Name  : Int_TypeInfos
    ' Description     : TypeInfos Collection
    INTERFACE Int_TypeInfos $IID_TLI_Int_TypeInfos
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_TypeInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_TypeInfo
        PROPERTY GET NamedItem <1610809346> (BYVAL TypeInfoName AS STRING PTR) AS Int_TypeInfo
    END INTERFACE
    
    ' Interface Name  : Int_RecordInfo
    ' Description     : Members are a subset of TypeInfo object members.
    INTERFACE Int_RecordInfo $IID_TLI_Int_RecordInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (BYVAL AttributeArray AS DWORD) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        METHOD Meth__placeholder_VTableInterface <1610743820> ()
        PROPERTY GET GetMember <1610743821> (BYVAL Index AS VARIANT) AS Int_MemberInfo
        PROPERTY GET Members <1610743822> () AS Int_Members
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        METHOD Meth__ImpliedInterfaces <1610743824> ()
        METHOD Meth__DefaultInterface <1610743825> ()
        METHOD Meth__DefaultEventInterface <1610743826> ()
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_Records
    ' Description     : Subset of TypeInfos collection.
    INTERFACE Int_Records $IID_TLI_Int_Records
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_RecordInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_RecordInfo
        PROPERTY GET NamedItem <1610809346> (OPT BYVAL LCID AS LONG) AS Int_RecordInfo
    END INTERFACE
    
    ' Interface Name  : Int_IntrinsicAliasInfo
    ' Description     : Members are a subset of TypeInfo object members.
    INTERFACE Int_IntrinsicAliasInfo $IID_TLI_Int_IntrinsicAliasInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_IntrinsicAliasInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (OPT BYVAL LCID AS LONG) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        METHOD Meth__placeholder_VTableInterface <1610743820> ()
        METHOD Meth__placeholder_GetMember <1610743821> ()
        METHOD Meth__placeholder_Members <1610743822> ()
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        METHOD Meth__ImpliedInterfaces <1610743824> ()
        METHOD Meth__DefaultInterface <1610743825> ()
        METHOD Meth__DefaultEventInterface <1610743826> ()
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_IntrinsicAliases
    ' Description     : Subset of TypeInfos collection.
    INTERFACE Int_IntrinsicAliases $IID_TLI_Int_IntrinsicAliases
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_IntrinsicAliasInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_IntrinsicAliasInfo
        PROPERTY GET NamedItem <1610809346> (BYVAL TypeInfoName AS STRING PTR) AS Int_IntrinsicAliasInfo
    END INTERFACE
    
    ' Interface Name  : Int_CustomData
    ' Description     : CustomData Object
    INTERFACE Int_CustomData $IID_TLI_Int_CustomData
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_CustomData
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET GUID <1610743810> () AS STRING
        PROPERTY GET Value <1610743811> () AS VARIANT
    END INTERFACE
    
    ' Interface Name  : Int_CustomDataCollection
    ' Description     : CustomData Collection
    INTERFACE Int_CustomDataCollection $IID_TLI_Int_CustomDataCollection
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_CustomDataCollection
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_CustomData
        PROPERTY GET COUNT <1610743812> () AS INTEGER
    END INTERFACE
    
    ' Interface Name  : Int_UnionInfo
    ' Description     : Members are a subset of TypeInfo object members.
    INTERFACE Int_UnionInfo $IID_TLI_Int_UnionInfo
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfo
        METHOD Meth__placeholder_destructor <1610743809> ()
        PROPERTY GET NAME <0> () AS STRING
        PROPERTY GET GUID <1610743811> () AS STRING
        PROPERTY GET PropGet__OldHelpString <1610743812> () AS STRING
        PROPERTY GET HelpContext <1610743813> () AS LONG
        PROPERTY GET HelpFile <1610743814> () AS STRING
        PROPERTY GET AttributeMask <1610743815> () AS INTEGER
        PROPERTY GET AttributeStrings <1610743816> (BYVAL AttributeArray AS DWORD) AS INTEGER
        PROPERTY GET PropGet__OldTypeKind <1610743817> () AS LONG
        PROPERTY GET TypeKindString <1610743818> () AS STRING
        PROPERTY GET TypeInfoNumber <1610743819> () AS INTEGER
        METHOD Meth__placeholder_VTableInterface <1610743820> ()
        PROPERTY GET GetMember <1610743821> (BYVAL Index AS VARIANT) AS Int_MemberInfo
        PROPERTY GET Members <1610743822> () AS Int_Members
        PROPERTY GET PARENT <1610743823> () AS IDISPATCH
        METHOD Meth__ImpliedInterfaces <1610743824> ()
        METHOD Meth__DefaultInterface <1610743825> ()
        METHOD Meth__DefaultEventInterface <1610743826> ()
        PROPERTY GET TypeKind <1610743827> () AS LONG
        PROPERTY GET ResolvedType <1610743828> () AS Int_VarTypeInfo
        PROPERTY GET CustomDataCollection <1610743829> () AS Int_CustomDataCollection
        PROPERTY GET HelpString <1610743830> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET ITypeInfo <1610743831> () AS IUNKNOWN
        PROPERTY GET MajorVersion <1610743832> () AS INTEGER
        PROPERTY GET MinorVersion <1610743833> () AS INTEGER
        PROPERTY GET HelpStringDll <1610743834> (OPT BYVAL LCID AS LONG) AS STRING
        PROPERTY GET HelpStringContext <1610743835> () AS LONG
    END INTERFACE
    
    ' Interface Name  : Int_Unions
    ' Description     : Subset of TypeInfos collection.
    INTERFACE Int_Unions $IID_TLI_Int_Unions
        INHERIT IDISPATCH
    
        METHOD ME <1610743808> () AS Int_TypeInfos
        METHOD Meth__placeholder_destructor <1610743809> ()
        METHOD Meth__NewEnum <-4> () AS IUNKNOWN
        PROPERTY GET COUNT <1610743811> () AS INTEGER
        PROPERTY GET ITEM <0> (BYVAL Index AS INTEGER) AS Int_UnionInfo
        PROPERTY GET IndexedItem <1610809345> (BYVAL TypeInfoNumber AS INTEGER) AS Int_UnionInfo
        PROPERTY GET NamedItem <1610809346> (BYVAL TypeInfoName AS STRING PTR) AS Int_UnionInfo
    END INTERFACE
    ' end of typelib.inc
    '--------------------------------------------------------------------------------
    registry.inc code (I do not know who is the original author - thank you anyway)
    '--------------------------------------------------------------------------------
    Code:
    'REGISTRY.INC
    'General Purpose Registry Access
    'Uses: win32api.inc
    
    'Functions:
    ' DelRegValue(lpKey As Long,ByVal cMainkey As String, ByVal Key As String) As Long
    ' GetRegValue(lpKey As Long,ByVal cMainkey As String, ByVal Key As String) As String
    ' SetRegValue(lpKey As Long,ByVal cMainkey As String, ByVal Key As String, ByVal Setting As String) As Long
    ' DelRegKey(lpKey As Long, Key As String) Export As Long
    
    DECLARE FUNCTION DelRegValue(lpKey AS LONG,BYVAL cMainkey AS STRING, BYVAL Key AS STRING) AS LONG
    DECLARE FUNCTION GetRegValue(lpKey AS LONG,BYVAL cMainkey AS STRING, BYVAL Key AS STRING) AS STRING
    DECLARE FUNCTION SetRegValue(lpKey AS LONG,BYVAL cMainkey AS STRING, BYVAL Key AS STRING, BYVAL Setting AS STRING) AS LONG
    DECLARE FUNCTION DelRegKey(lpKey AS LONG, Key AS STRING) AS LONG
    
    FUNCTION DelRegValue(lpKey AS LONG,BYVAL cMainkey AS STRING, BYVAL Key AS STRING) AS LONG
        ON ERROR RESUME NEXT
        LOCAL RetCode AS LONG
        LOCAL hKey AS LONG
        DIM acMainkey AS ASCIIZ * 300
    
        acMainkey = cMainkey
        RetCode = RegOpenKeyEx(lpKey, acMainkey, 0&, %KEY_ALL_ACCESS, hKey)
        IF RetCode = %ERROR_SUCCESS THEN
            IF Key$ = "*" THEN Key$ = CHR$(0,0)
            RetCode = RegDeleteValue(hKey, BYVAL STRPTR(Key$))
        END IF
        RegCloseKey hKey
        FUNCTION = RetCode
    END FUNCTION
    
    FUNCTION GetRegValue(lpKey AS LONG,BYVAL cMainkey AS STRING, BYVAL Key AS STRING) AS STRING
        ON ERROR RESUME NEXT
        DIM RetCode AS LONG
        DIM hKey AS LONG
        DIM KeyNameA AS ASCIIZ * 256
        LOCAL zTmp AS ASCIIZ * 256
        DIM acMainKey AS ASCIIZ * 300
        LOCAL ZZZ AS STRING
        LOCAL szdat&, cbData&
        LOCAL KeyType&
    
        acMainKey = cMainKey
        RetCode = RegOpenKeyEx(lpKey, acMainkey, 0&, %KEY_ALL_ACCESS, hKey)
        IF RetCode = %ERROR_SUCCESS THEN
            IF Key$ = "*" THEN Key$ = CHR$(0,0)
            szdat& = 256
            DIM zbuffer AS ASCIIZ*256
            KeyNameA = Key
            cbData& = SIZEOF(zTmp)
            RetCode = RegQueryValueEx(BYVAL hKey, KeyNameA, BYVAL 0, KeyType&, zTmp, cbData&)
            ZZZ = zTmp
            FUNCTION = ZZZ
            EXIT FUNCTION
        END IF
        FUNCTION = ""
    END FUNCTION
    
    FUNCTION SetRegValue(lpKey AS LONG,BYVAL cMainkey AS STRING, BYVAL Key AS STRING, BYVAL Setting AS STRING) AS LONG
        ON ERROR RESUME NEXT
        LOCAL hKey   AS LONG
        LOCAL Result AS LONG
        LOCAL zText  AS ASCIIZ * 2048
        IF Key$ = "*" THEN Key$ = CHR$(0,0)
        IF RegCreateKeyEx(lpKey, cMainKey + CHR$(0),0, "", %REG_OPTION_NON_VOLATILE, _
                       %KEY_ALL_ACCESS, BYVAL %NULL, hKey, Result) <> %ERROR_SUCCESS THEN
            FUNCTION = 0
            EXIT FUNCTION
        END IF
        zText = Setting
        IF LEN(Setting) THEN
            RegSetValueEx hKey, Key+CHR$(0), 0, %REG_SZ, zText, LEN(Setting)+1
        ELSE
            RegSetValueEx hKey, Key+CHR$(0), 0, %REG_SZ, zText, 1
        END IF
        RegCloseKey hKey
        FUNCTION = 1
    END FUNCTION
    
    FUNCTION DelRegKey(lpKey AS LONG, Key AS STRING) EXPORT AS LONG
        ON ERROR RESUME NEXT
        LOCAL zStrKey AS ASCIIZ * 255, hKey AS LONG, Result AS LONG
        zStrKey = Key
        IF RegOpenKeyEx(BYVAL lpKey,zStrKey,0,  %KEY_ALL_ACCESS,  hKey) <> %ERROR_SUCCESS THEN  EXIT FUNCTION
        Result = RegDeleteKey(lpKey, zStrKey)
        RegCloseKey hKey
        FUNCTION = Result
    END FUNCTION
    ' end of registry.inc
    '--------------------------------------------------------------------------------

  • #2
    Hi Peter,

    I have a problem running this. I get an error "Problem" when trying to instantiate
    the TypeLib information library. Although I have the dll installen and registered. It has the same GUID$ so there is no problem with that.

    What version of PB did you use. I guess 9.0 ?

    Cheers

    Steven
    So here we are, this is the end.
    But all that dies, is born again.
    - From The Ashes (In This Moment)

    Comment


    • #3
      That is correct. 9.0.
      Did you use the include file I put here or you created yours? This is because PB created the include file incorrectly and I needed to fix it manually.

      Comment


      • #4
        The COM Browser created it with errors. I manually needed to fix those, so I submitted this code. I did not report the problem to PowerBasic staff. I hope you will read this and take it as a report.
        This is not an offical venue for support. If there is a problem, please report it to [email protected] and list what the problem is and what was necessary to fix it. Thank you.
        Sincerely,

        Steve Rossell
        PowerBASIC Staff

        Comment


        • #5
          If you look at the TLB file for TLBINF32.DLL the problem is that the Property Get _OldVarType is incorrectly defined in the type library file.

          There should be a retval (return value) defined for this property get. This is exactly why the COM Browser has an option to use Methods only, because many type libraries are incorrectly defined.

          The PB COM Browser, tries to fix many different problems in type libraries, but cannot do them all. I have logged a request that this type of incorrect definition be fixed by the PB COM Browser.
          Sincerely,

          Steve Rossell
          PowerBASIC Staff

          Comment


          • #6
            Originally posted by Peter Redei View Post
            That is correct. 9.0.
            Did you use the include file I put here or you created yours? This is because PB created the include file incorrectly and I needed to fix it manually.
            Peter,
            I just created the three files and compiled without error under PBWin9.0. Upon startup of the app, I got the same "Problem " messagebox. After dismissing it, I got the main window.

            I have all three files in the same subdirectory, and no other copies of REGISTRY.INC or TYPELIB.INC anywhere else on any drives...

            What have I overlooked?

            -JohnM

            Comment


            • #7
              John,

              Look in the code for the "Problem" message. It is displayed when the TLBINF32.DLL cannot be loaded. So, check for the existance of this DLL and also if it is registered correctly.


              Regards,

              Peter Redei

              Comment

              Working...
              X