Message 1 of 2
Null Reference Thrown at Autodesk.AutoCAD.EditorInput.Editor.get_IsQuiescent()
Not applicable
11-04-2011
04:59 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have a simple method which checks and records the existence of table entities.
When the method exits (in a VS debug session and control returns to AutoCAD), AutoCAD throws this exception.
System.NullReferenceException: Object reference not set to an instance of an object. at Autodesk.AutoCAD.EditorInput.Editor.get_IsQuiescent() at Autodesk.AutoCAD.Ribbon.RibbonPaletteSet.AcadApplication_Idle(Object sender, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at Autodesk.AutoCAD.ApplicationServices.Application.raise_Idle(Object value0, EventArgs value1) at Autodesk.AutoCAD.ApplicationServices.Application.OnIdle()
And it seems to endlessly throw it in an infinite loop.
Here's the method:
[CommandMethod("HasTables")]
public static void Update__Utility_AcadFixTablesLog_HasTables() {
const string connectionString = @"......";
using (var db = new ProductCatalogEntities(connectionString)) {
using (var document = Application.DocumentManager.MdiActiveDocument) {
TypedValue[] typedValues = { new TypedValue((int)DxfCode.Start, "ACAD_TABLE") };
SelectionFilter selectionFilter = new SelectionFilter(typedValues);
var rec = db.AcadFixTablesLogs.FirstOrDefault(_ => String.Compare(_.FileName, document.Name, false) == 0);
var promptSelectionResult = document.Editor.SelectAll(selectionFilter);
var hasTablesResult = promptSelectionResult.Status == PromptStatus.None;
if (rec != null) {
rec.HasTables = hasTablesResult;
db.SaveChanges();
}
}
}
}
Any ideas? Thanks!