Попытка назначить локальный слой редактируемым.
Visual Basic:
Function StartEdit() As Long
Этот метод «захватывает» слой для редактирования, если его не редактирует другой пользователь. Если слой уже кто-то редактирует, метод вернет 0. В случае успеха метод вернет число больше единицы.
По завершении редактирования следует вызвать метод StopEdit.
Данный метод не оказывает действия на серверный слой.
В случае неудачи возникает исключение с одним из следующих кодов:
Код
Описание
513
Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.
Dim lay2 As Layer Set lay2 = New Layer 'Создаем новый экземпляр активного слоя карты lay2.Open MapCtrl1.Map.Layers.Active.Name MsgBox MapCtrl1.Map.Layers.Active.StartEdit 'Результат будет 1 MsgBox MapCtrl1.Map.Layers.Active.StartEdit 'Результат будет 2 MsgBox MapCtrl1.Map.Layers.Active.StartEdit 'Результат будет 3 MsgBox lay2.StartEdit 'Результат будет 0 т.к. слой занят MsgBox MapCtrl1.Map.Layers.Active.StopEdit 'Результат будет 2 MsgBox MapCtrl1.Map.Layers.Active.StopEdit 'Результат будет 1 MsgBox MapCtrl1.Map.Layers.Active.StopEdit 'Результат будет 0 MsgBox lay2.StartEdit 'Результат будет 1 т.к. слой освободился MsgBox lay2.StopEdit 'Результат будет 0