Thank you - this is a very exciting feature.
I have a few initial questions:
- Can dynamic arrays be used with RTD-based functions? Currently there are some bugs (including buggy RTD topic disconnect) when RTD is called from legacy CSE array formulae (even if the RTD call is through an indirection). It would be an immense help if there were RTD support in conjunction with the dynamic arrays, for async, streaming and other scenarios.
- Do I understand correctly that any UDF defined in a .xll add-in which returns an XLOPER will automatically work with the dynamic array behaviour? Can I effectively recreate a "FILTER" or "SORT" function inside an add-in or do these functions themselves have internal magic too? Is "SINGLE" special or can I opt into implicit intersection behaviour from inside my array-returning UDF function by calling SINGLE via the C API?
- Can dynamic arrays be used inside Tables? Currently array functions cannot be put in Tables. It would be great to have the auto-expanding and shrinking Table behaviour anchored on a synamic array function.
- How does the # spill operator impact the reference passed to a function taking an XLOPER reference parameter in the C API? Is there any way to know that a parameter is a dynamic array (as opposite to a fixed, explicit range)?
- How is the caller identified for dynamic array functions (via xlfCaller in the C API or Application.Caller in VBA)?