Passing an instance is passing a function pointer. Along with a ton of other things, of course. Java introduced the concept of "single abstract method" types to do function pointer-like things.
Passing a dynamic array to a method is no different than passing a static array, but the dynamic array must have been created by MAKEARRAY, REDIM, COPYARRAY, or an assignment statement. If the dynamic ...