Рабочая область при программировании на .Net
Добавлено: 25 сен 2017, 15:36
Добрый день. Разрабатываю надстройку для ArcMap на C#.
Мне необходимо произвести некоторые действия с таблицами в режиме редактирования. Для этого я определяю IEditor:
IApplication m_application = Hook as IApplication;
UID editorID = new UIDClass();
editorID.Value = "esriEditor.Editor";
IEditor m_Editor = m_application.FindExtensionByCLSID(editorID) as IEditor;
Далее мне необходимо работать со слоями:
IEditLayers editLayers = (IEditLayers)m_Editor;
IFeatureLayer NewLayers = (IFeatureLayer)editLayers.CurrentLayer;
И вроде всё нормально. Однако как только нажать кнопку Сохранить в Редакторе или закрепить версию editLayers.CurrentLayer становится равным null и приходится перезапускать редактор. Рабочая область при этом не меняется, остается прежней.
Может кто сталкивался с подобной проблемой и знает её решение?
Мне необходимо произвести некоторые действия с таблицами в режиме редактирования. Для этого я определяю IEditor:
IApplication m_application = Hook as IApplication;
UID editorID = new UIDClass();
editorID.Value = "esriEditor.Editor";
IEditor m_Editor = m_application.FindExtensionByCLSID(editorID) as IEditor;
Далее мне необходимо работать со слоями:
IEditLayers editLayers = (IEditLayers)m_Editor;
IFeatureLayer NewLayers = (IFeatureLayer)editLayers.CurrentLayer;
И вроде всё нормально. Однако как только нажать кнопку Сохранить в Редакторе или закрепить версию editLayers.CurrentLayer становится равным null и приходится перезапускать редактор. Рабочая область при этом не меняется, остается прежней.
Может кто сталкивался с подобной проблемой и знает её решение?