GetLastChangesTime method (Layer)

Возвращает метку последних изменений слоя двумя половинами 64-разрядного числа. Удобно использовать для анализа последних изменений.

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

Layer

Синтаксис:

Visual Basic:

Sub GetLastChangesTime(dwLowDateTime As Long,dwHighDateTime As Long)

dwLowDateTime - младшая половина значения.

dwHighDateTime - старшая половина значения.

Описание:

Метка собирается из половин: старшая, умноженная на 232, плюс младшая. Каждое изменение данных слоя - добавление объекта, удаление - увеличивает метку на единицу; настройки показа ее не трогают. Метка хранится вместе со слоем и у заново открытого слоя остается прежней, поэтому сравнением двух меток видно, менялся ли слой.

Оба параметра метод заполняет по ссылке, поэтому из VBScript он не вызывается: вызов завершается ошибкой «Type mismatch». Дату последнего изменения геометрии слоя дает метод GetLastGeometryChangesDate. В python метод возвращает пару чисел - младшую и старшую половины.

Пример:

Python:

import zulu

def Macro_Layer_GetLastChangesTime():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    # Метка приходит двумя половинами
    low, high = L.GetLastChangesTime()
    print("младшая половина:", low, "старшая:", high)
    print("метка последних изменений:", (high << 32) | low)