GetLastErrorCode method (Layer)

Возвращает код последней ошибки, связанной с данным объектом слоя.

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

Layer

Синтаксис:

Visual Basic:

Function GetLastErrorCode() As Long

Описание:

На данный момент далеко не все неудачные операции со слоем устанавливают код ошибки.

Код читают сразу после той операции, которая интересует: следующий вызов либо сбрасывает код в 0, либо оставляет прежний, причем это не зависит от того, удался он или нет. Само чтение кода его не меняет, а 0 стоит и после неудач, которые код не устанавливают, поэтому признаком успеха он не служит.

Список кодов не исчерпывающий: например, символ с несуществующим типом или режимом дает код -16. Словесное описание любого кода дает метод GetLastErrorString.

Константа

Описание

0

Ошибки нет

-1

Общая ошибка

-2

Ошибка преобразования координат

-3

Несоответствие пространственному фильтру

-4

Неверный графический тип

-5

Пустой объект

-6

Недостаточно памяти

-7

Таймаут при попытке записи

-8

Таймаут при попытке чтения

-9

Редактор слоя занят другим процессом

-10

Редактор занят локальной версией

-11

Нет лицензии на редактирование

-12

Ошибка записи объета в слой

Пример:

Символ несуществующего типа в слой не добавляется, и метод показывает код этой неудачи.

Visual Basic:

Sub Layer_GetLastErrorCode
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set R = L.GetBoundsRectangle
'Неудачная операция: тип 999 в слое не заведен
ID = L.AddSymbol(R.Xmax + 1, R.Ymin, 999, 1)
S = "AddSymbol = " & ID
S = S & vbCrLf & "Код последней ошибки: " & L.GetLastErrorCode
S = S & vbCrLf & "Описание: " & L.GetLastErrorString
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_GetLastErrorCode():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    R = L.GetBoundsRectangle()
    # Неудачная операция: тип 999 в слое не заведен
    print("AddSymbol =", L.AddSymbol(R.Xmax + 1, R.Ymin, 999, 1))
    print("Код последней ошибки:", L.GetLastErrorCode())
    print("Описание:", L.GetLastErrorString())