You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Within the 1 second wait, click Ctrl + N to launch a new workbook
The results will not be returned. Furthermore, any calls on new workbooks to '=Test(TODAY())' will immediately return 'Hello' (ie: not recalling the function, simply returning the cached result)
`
using ExcelDna.Integration;
using ExcelDna.Registration;
namespace DNABug
{
public class Class1
{
public partial class Registration : IExcelAddIn
{
public void AutoOpen() => ExcelRegistration.GetExcelFunctions().ProcessAsyncRegistrations().RegisterFunctions();
public void AutoClose() { }
Calling RTD-based async functions with volatile inputs is a problem, and I don't have a good 'default' solution for this yet.
Some options:
Make your own "TODAY.NV()" function that is not volatile.
Cache the async result for a short time (a few seconds or minutes) and return directly from the cache. This would need some re-engineering of the function instead of using the default Task-processing.
It's certainly a problem and needs more thought but is a consequence of the Excel-DNA approach to implementing async functions. Not simple . . .
Steps to reproduce:
The results will not be returned. Furthermore, any calls on new workbooks to '=Test(TODAY())' will immediately return 'Hello' (ie: not recalling the function, simply returning the cached result)
`
using ExcelDna.Integration;
using ExcelDna.Registration;
namespace DNABug
{
public class Class1
{
public partial class Registration : IExcelAddIn
{
public void AutoOpen() => ExcelRegistration.GetExcelFunctions().ProcessAsyncRegistrations().RegisterFunctions();
public void AutoClose() { }
}
`
The text was updated successfully, but these errors were encountered: