Delegate Definition
Syntax
[ | Private
| Public ] _
Delegate Sub name [([param[,
...]])]
-or-
[ | Private | Public ] _
Delegate
Function name[type] _
[([param[, ...]])] [As type[()]]
Group Declaration
Description
Define a new user delegate (subroutine or function pointer type).
A delegate's Sub or Function is called using the delegate's Invoke
method.
Access If no access is specified then Public is assumed.
Parameter Description
name This is the name of the delegate being defined.
params A list of zero or more params that are used by the delegate's subroutine or function.
See Also AddressOf.
Example
'#Language
"WWB-COM"
Delegate Function OpType(ByVal v1 As Variant, ByVal
v2 As Variant) As Variant
SubMain
Debug.Print
DoOp(AddressOf Add,1,2) ' 3
Debug.Print DoOp(AddressOf Subtract,1,2) '-1
EndSub
Function DoOp(ByVal op As OpType,
_
ByVal v1 As Variant, ByVal v2 As Variant) As
Variant
DoOp = op.Invoke(v1,v2)
EndFunction
Function Add(ByVal v1 As Variant, ByVal v2
As Variant) As Variant
Add =
v1+v2
End Function
Function Subtract(ByVal v1 As
Variant, ByVal v2 As Variant) As
Variant
Subtract = v1-v2
EndFunction