Encountering several problems when using NOV Diagram for .NET

Print Topic | Close Window

By Markus Weißenbek - 4 Years Ago

I am currently testing several .NET Desktop Diagramming Libraries for our company. While NOV Diagramming for .NET looks really promising, we encounter several weird issues where Exceptions are raised, that in our opinion should not be.
The first problem occurs, when we select more than 20 NShapes in our NDiagrammingViewControl and try to move them around. We get two NullReferenceExceptions from the Library. I tested this with different sets of 21+ NShapes and the error occured every time. With 20 NShapes the moving works correctly.

Next we get a IndexOutOfRangeException when we do the following steps:
1. Double click on a NShape to edit the text.
2. Clear the Textfield.
3. Press the left mouse button inside the edit field.
4. Move the mouse outside of the edit field while keeping the left mouse pressed.

The last problem that came up was regarding the shortcuts. When no NShape is selected and we press the shortcut Ctrl-S for save, an ArgumentNullException is raised. When we press Ctrl-N an Invalid OperationException is thrown when either one of the three options (Save, Don't save, Cancel) is clicked.

We also get a UnauthorizedAccessException, when Visual Studio is not started with Administrator privileges, because the library cannot access the registrykey 'HKEY_LOCAL_MACHINE\Software\Wow6432Node\Nevron\License5'.

I attached a solution with which you should be able to replicate these problems.

Please note, that NOV Diagram is currently regarded as our favorite diagramming library, but these problems have to be solved before we think about the final integration.

Best regards, 

By Nevron Support - 4 Years Ago
Hi Markus,
We must have missed this post - apologies for the delayed response. We found and fixed the exception when you drag the mouse inside the text field and will publish a SP early next week. Regarding the other exception - the licensing system stores the machine key in the registry in order to not regenerate it each time (this is done for performance reasons as querying machine information is kind of slow). This exception is handled though.