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); //開始編輯操作