Topic
Using multiple custom functions
Página de inicio ' Community ' Automation and VBA ' Uso de varias funciones personalizadas
- Este tema contiene Respuestas 2, Voces 2, y fue actualizado por última vez el Hace 10 años por Peter Seitz.
-
AutorPuestos
-
04.02.2016 en 08:18 #35221Peter SeitzParticipante
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 = FalseWith .Parameters.Add(“Arg1”)
.Description = “First argument”
.AllowedTypes = fpParameterTypeNumeric
End WithSet oMyFunction = New MyFunctionImplementationObject1
.Register oMyFunction
End With‘ register the function
With CustomFPScriptFunctions.Add(“MyCustomFunction2”)
.Description = “Output Matrix”
.Indeterministic = FalseWith .Parameters.Add(“Arg1”)
.Description = “First argument”
.AllowedTypes = fpParameterTypeNumeric
End WithSet 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 ?
04.02.2016 en 08:18 #35223Peter SeitzParticipanteHello,
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 = FalseWith .Parameters.Add(“Arg1”)
.Description = “First argument”
.AllowedTypes = fpParameterTypeNumeric
End WithSet oMyFunction = New MyFunctionImplementationObject1
.Register oMyFunction
End With‘ register the function
With CustomFPScriptFunctions.Add(“MyCustomFunction2”)
.Description = “Output Matrix”
.Indeterministic = FalseWith .Parameters.Add(“Arg1”)
.Description = “First argument”
.AllowedTypes = fpParameterTypeNumeric
End WithSet 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 ?
05.02.2016 en 09:38 #35222Bernhard KantzKeymasterIf you remove the numbers after Calculate in the Implements directive and the function definition, your code should work.
[code]
Option ExplicitImplements ICustomFPScriptFunctionCalculate
Private Function ICustomFPScriptFunctionCalculate_Calculate(SafeArrayOfArguments() As Variant)
ICustomFPScriptFunctionCalculate_Calculate = SafeArrayOfArguments()
End Function
[/code] -
AutorPuestos
- Debes estar registrado para responder a este tema.