Excel-DNA/ExcelDna

suggested enhancement - flag to indicate to intellisensehelper whether the workbook provider is required

jmkinzer opened this issue · 0 comments

Hi Govert -

WorkbookIntelliSenseProvider throws an System.Runtime.InteropServices.COMException (Invalid Index) in the case we're relying on the DNA provider because the worksheet for the WB provider will not be present. This is a bit messy and trips up the debugger. Can we have a flag to indicate whether it is even required to load it, to avoid this spurious exception?
 
e.g.

        public IntelliSenseHelper(IsEnableWBProvider)
        {
            Logger.Initialization.Verbose("IntelliSenseHelper Constructor Begin");
            _syncContextMain = new WindowsFormsSynchronizationContext();
            _uiMonitor = new UIMonitor(_syncContextMain);
            _display = new IntelliSenseDisplay(_syncContextMain, _uiMonitor);

            _providers = new List<IIntelliSenseProvider>
            {
                new ExcelDnaIntelliSenseProvider(_syncContextMain)
            };
                //  avoid loading and throwing a spurious exception if not needed
                if (IsEnableWBProvider) _providers.Add(new WorkbookIntelliSenseProvider());

            RegisterIntellisense();
            Logger.Initialization.Verbose("IntelliSenseHelper Constructor End");
        }