Using multiple custom functions

SupportCommunity Automation and VBA Using multiple custom functions

Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Autor
    Beiträge
  • #12901
    Peter SeitzPeter Seitz
    Mitglied

    Hello,

    I’m using a custom function for an analysis like in your example “CustomFunction.FPD”.

    Now I’d like to implement a second custom function, so I was going to expand my code like the following example:

    In Module -> AutoFunctions

        '   register the function
        With CustomFPScriptFunctions.Add("MyCustomFunction1")
            .Description = "Output Matrix"
            .Indeterministic = False
            
            With .Parameters.Add("Arg1")
                .Description = "First argument"
                .AllowedTypes = fpParameterTypeNumeric
            End With
        
            Set oMyFunction = New MyFunctionImplementationObject1
            
            .Register oMyFunction
        End With
        
            '   register the function
        With CustomFPScriptFunctions.Add("MyCustomFunction2")
            .Description = "Output Matrix"
            .Indeterministic = False
            
            With .Parameters.Add("Arg1")
                .Description = "First argument"
                .AllowedTypes = fpParameterTypeNumeric
            End With
        
            Set oMyFunction = New MyFunctionImplementationObject2
            
            .Register oMyFunction
        End With

    And in my classmodule -> MyFunctionImplementationObject1

    Option Explicit
    
    Implements ICustomFPScriptFunctionCalculate1
    
    Private Function ICustomFPScriptFunctionCalculate_Calculate1(SafeArrayOfArguments() As Variant)
        
    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()
        
    End Function

    And in my classmodule -> MyFunctionImplementationObject2

    Option Explicit
    
    Implements ICustomFPScriptFunctionCalculate2
    
    Private Function ICustomFPScriptFunctionCalculate_Calculate2(SafeArrayOfArguments() As Variant)
        
    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()
        
    End Function
    

    But as soon as I add another function in my AutoFunctions neither of the two added functions is working. I get the error message “The referred function does not exist”

    Can you tell me what I’m doing wrong ?

    #8561
    Peter SeitzPeter Seitz
    Mitglied

    Hello,

    I’m using a custom function for an analysis like in your example “CustomFunction.FPD”.

    Now I’d like to implement a second custom function, so I was going to expand my code like the following example:

    In Module -> AutoFunctions

        '   register the function
        With CustomFPScriptFunctions.Add("MyCustomFunction1")
            .Description = "Output Matrix"
            .Indeterministic = False
            
            With .Parameters.Add("Arg1")
                .Description = "First argument"
                .AllowedTypes = fpParameterTypeNumeric
            End With
        
            Set oMyFunction = New MyFunctionImplementationObject1
            
            .Register oMyFunction
        End With
        
            '   register the function
        With CustomFPScriptFunctions.Add("MyCustomFunction2")
            .Description = "Output Matrix"
            .Indeterministic = False
            
            With .Parameters.Add("Arg1")
                .Description = "First argument"
                .AllowedTypes = fpParameterTypeNumeric
            End With
        
            Set oMyFunction = New MyFunctionImplementationObject2
            
            .Register oMyFunction
        End With

    And in my classmodule -> MyFunctionImplementationObject1

    Option Explicit
    
    Implements ICustomFPScriptFunctionCalculate1
    
    Private Function ICustomFPScriptFunctionCalculate_Calculate1(SafeArrayOfArguments() As Variant)
        
    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()
        
    End Function

    And in my classmodule -> MyFunctionImplementationObject2

    Option Explicit
    
    Implements ICustomFPScriptFunctionCalculate2
    
    Private Function ICustomFPScriptFunctionCalculate_Calculate2(SafeArrayOfArguments() As Variant)
        
    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()
        
    End Function
    

    But as soon as I add another function in my AutoFunctions neither of the two added functions is working. I get the error message “The referred function does not exist”

    Can you tell me what I’m doing wrong ?

    #9424
    Bernhard KantzBernhard Kantz
    Moderator

    If you remove the numbers after Calculate in the Implements directive and the function definition, your code should work.

    
    Option Explicit
     
    Implements ICustomFPScriptFunctionCalculate
     
    Private Function ICustomFPScriptFunctionCalculate_Calculate(SafeArrayOfArguments() As Variant)
     
    	ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()
     
    End Function
    
Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.