Quote Originally Posted by TTn View Post
Firehacker or Trick, how do I use TipGetArgCount?
Code:
Option Explicit

Private Declare Function EbGetExecutingProj Lib "vba6" ( _
                         ByRef cProject As IUnknown) As Long
Private Declare Function TipGetFunctionId Lib "vba6" ( _
                         ByVal cProj As IUnknown, _
                         ByVal bstrName As Long, _
                         ByVal bstrId As Long) As Long
Private Declare Function TipGetFuncInfo Lib "vba6" ( _
                         ByVal cProj As IUnknown, _
                         ByVal bstrId As Long, _
                         ByRef pFuncInfo As Long) As Long
Private Declare Function TipGetArgCount Lib "vba6" ( _
                         ByVal pFuncInfo As Long, _
                         ByRef lCount As Long) As Long
Private Declare Function TipGetArgType Lib "vba6" ( _
                         ByVal pFuncInfo As Long, _
                         ByVal lIndex As Long, _
                         ByRef lType As Long) As Long
Private Declare Sub TipReleaseFuncInfo Lib "vba6" ( _
                    ByVal pFuncInfo As Long)
                         
Sub Main()
    Dim cProj   As IUnknown
    Dim sFnId   As String
    Dim pFnInfo As Long
    Dim lArgs   As Long
    Dim lIndex  As Long
    Dim lType   As Long
    
    EbGetExecutingProj cProj
    TipGetFunctionId cProj, StrPtr("foo"), VarPtr(sFnId)
    TipGetFuncInfo cProj, StrPtr(sFnId), pFnInfo
    TipGetArgCount pFnInfo, lArgs
    
    For lIndex = 0 To lArgs
        ' // 0 - return type
        TipGetArgType pFnInfo, lIndex, lType
        Debug.Print lType
    Next
    
    TipReleaseFuncInfo pFnInfo
    
End Sub


Public Function foo( _
                ByVal lArg1 As Long, _
                ByVal vArg2 As Variant, _
                ByVal sArg3 As String) As Boolean
                
End Function