Saltar navegación

Topic

Using multiple custom functions

Página de inicio ' Community ' Automation and VBA ' Uso de varias funciones personalizadas

Viendo los mensajes de 3 - 1 a 3 (de 3 en total)
  • Autor
    Puestos
  • #35221
    Peter Seitz
    Participante

    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

    [code] ‘ 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[/code]

    And in my classmodule -> MyFunctionImplementationObject1

    [code]Option Explicit

    Implements ICustomFPScriptFunctionCalculate1

    Private Function ICustomFPScriptFunctionCalculate_Calculate1(SafeArrayOfArguments() As Variant)

    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()

    End Function[/code]

    And in my classmodule -> MyFunctionImplementationObject2

    [code]Option Explicit

    Implements ICustomFPScriptFunctionCalculate2

    Private Function ICustomFPScriptFunctionCalculate_Calculate2(SafeArrayOfArguments() As Variant)

    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()

    End Function
    [/code]

    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 ?

    #35223
    Peter Seitz
    Participante

    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

    [code] ‘ 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[/code]

    And in my classmodule -> MyFunctionImplementationObject1

    [code]Option Explicit

    Implements ICustomFPScriptFunctionCalculate1

    Private Function ICustomFPScriptFunctionCalculate_Calculate1(SafeArrayOfArguments() As Variant)

    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()

    End Function[/code]

    And in my classmodule -> MyFunctionImplementationObject2

    [code]Option Explicit

    Implements ICustomFPScriptFunctionCalculate2

    Private Function ICustomFPScriptFunctionCalculate_Calculate2(SafeArrayOfArguments() As Variant)

    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()

    End Function
    [/code]

    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 ?

    #35222
    Bernhard Kantz
    Keymaster

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

    [code]
    Option Explicit

    Implements ICustomFPScriptFunctionCalculate

    Private Function ICustomFPScriptFunctionCalculate_Calculate(SafeArrayOfArguments() As Variant)

    ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()

    End Function
    [/code]

Viendo los mensajes de 3 - 1 a 3 (de 3 en total)
  • Debes estar registrado para responder a este tema.