I'm building a custom Terminology Provider and following the example in the ExcelTerminology sample project.
Once a terminology provider (i.e. termbase) has been selected, I should be able to map the termbase's languages to the project's languages... but the termbase's languages never appear.
I suspect this is because there's something wrong with the termbase - there is a red 'x' appearing adjacent to the termbase name once selected...
I've stepped through the code when a termbase gets selected and there are no exceptions, but I strongly suspect that between calling the constructor of my AbstractTerminologyProvider
implementation and the GetLanguages
method something is going wrong - the GetLanguages
method is never called.
Here is the code which is called once the termbases have been browsed and selected...
My BridgeTerminologyProvider
(referenced in the above code) has a constructor...
As can be seen, at the conclusion of this constructor I present a MessageBox showing the termbases's languages; this MessageBox is presented and contains the expected languages so I assume that everything has gone ok with this constructor. However, this is when the red 'x' appears next to the termbase's name (2nd image above).
I've also followed the documentation guide here, and the next step is to populate the GetLanguages
method, but in my case GetLanguages
is never called. So the process goes from my constructor - which appears to succeed - and never calls the subsequent method in the documentation. Perhaps there's something wrong with my implementation of ITerminologyProvider
but no exceptions are thrown and the red 'x' doesn't have a tooltip offering an explanation.
I've F11'd my way through the code and upon leaving the TerminologyProviderWinFormsUI.Browse
method (without any exceptions) the termbase name appears with a red 'x' and no languages are selectable.
What might be going wrong? What happens between TerminologyProviderWinFormsUI.Browse
returning and ITerminologyProvider.GetLanguages
being called?