Открывает слой с указанным именем или URL.
Visual Basic:
Sub Open(Name As String)
Name - имя слоя.
Метод используется, когда Layer создается самостоятельно как объект. В этом случае для дальнейшей работы с этим объектом необходимо ассоциировать его с конкретным именем слоя.
Имя можно указывать и с расширением .b00, и без него; свойство Name потом возвращает его ровно в том виде, в каком слой открывали.
Метода, закрывающего слой, у объекта нет: чтобы открыть другой слой, берут новый объект. Повторный вызов на уже открытом объекте дает исключение 512. Один и тот же слой можно открыть двумя объектами сразу - оба видят все объекты слоя.
В случае неудачи возникает исключение с одним из следующих кодов:
Код
Описание
512 Слой уже открыт. 513
Слой не удалось открыть.
Слой с сервера открывается тем же методом по URL:
без авторизации - zulu://zs.zulugis.ru:6473/map1/plan1.zl;
по имени пользователя и паролю - zulu://login:password@zs.zulugis.ru:6473/map1/plan1.zl;
по учетным сведениям Windows - zulu://$winnt$@zs.zulugis.ru:6473/map1/plan1.zl.
Visual Basic:
Sub Layer_Open 'Берем имя слоя у активного слоя карты и открываем его своим объектом Set Active = Zulu.ActiveMapDoc.Layers.Active Set L = CreateObject("ZuluLib.Layer") L.Open Active.Name S = "Открыт слой: " & L.UserName S = S & vbCrLf & "имя файла: " & L.Name S = S & vbCrLf & "объектов: " & L.ElementKeys.Count MsgBox S End SubPython:
import zulu def Macro_Layer_Open(): # Берем имя слоя у активного слоя карты и открываем его своим объектом active = zulu.App.ActiveMapDoc.Layers.Active L = zulu.Layer() L.Open(active.Name) print("Открыт слой:", L.UserName) print("имя файла:", L.Name) print("объектов:", L.ElementKeys.Count)