StartEdit method (Layer)

Попытка назначить локальный слой редактируемым.

Применяется к:

Layer

Синтаксис:

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