ArcEngine 实现开始编辑的功能时,抛出异常“异常来自 HRESULT:0x80040356”,如下图所示。
可能的原因有两种:
1.编辑的数据未进行版本注册。
2.未设置编辑模式。
如果数据未进行版本注册,可以通过ArcMap或ArcCatalog进行版本注册
如果是未设置编辑模式,则可以参考下面的代码进行设置。
//获取当前编辑图层工作空间
IDataset pDataSet = pCurrentLyr.FeatureClass as IDataset;
IWorkspace pWs = pDataSet.Workspace;
//设置编辑模式
if (pWs.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace)
{
pEngineEditor.EditSessionMode = esriEngineEditSessionMode.esriEngineEditSessionModeVersioned;
}
else
{
pEngineEditor.EditSessionMode = esriEngineEditSessionMode.esriEngineEditSessionModeNonVersioned;
}
//设置编辑任务
pEngineEditTask = pEngineEditor.GetTaskByUniqueName("ControlToolsEditing_CreateNewFeatureTask");
pEngineEditor.CurrentTask = pEngineEditTask;// 设置编辑任务
pEngineEditor.EnableUndoRedo(true); //是否可以进行撤销、恢复操作
pEngineEditor.StartEditing(pWs, mainMapControl.Map); //开始编辑操作