Функция Unfreeze Назад В начало Вперед

Назначение

Функция предназначена для перевода объекта из состояния "заморожен" в нормальное состояние.

Функция последовательно "пробегает" по всем узлам главной логической таблицы и закрывает их как таблицы в памяти и открывает как таблицы БД. При этом, если в главной логической таблице есть узлы являющиеся объектами, то и они в свою очередь, по средством вызова функции Unfreeze, переводятся из состояния замороженности.

Никаких операций по сохранению изменений, произведенных в объекте в состоянии замороженности, системной функцией Unfreeze не производится!

Если необходимо сохранить изменения, необходимо перед вызовом Unfreeze явно вызвать метод IModify.DoFlush.

После первого вызова функции позиция в узлах главной логической таблицы не определена.

Повторные вызовы функции не приводят к пересчитыванию, потере данных или потери позиции в каком либо узле главной логической таблице, однако, если в главной логической таблице есть узлы являющиеся объектами, то для них в свою очередь тоже будет вызвана функция Unfreeze.

Ядро Атлантиса для каждого объекта имеет признак, говорящий о том, был ли объект "заморожен". Его значение можно получить функцией Frozen.

Перед уничтожением объекта его не обязательно "размораживать", так как система это сделает сама.

Ситуации, при которых необходимо перекрывать данный метод:

В перекрывающем методе после успешного размораживания собственных переменных необходимо вызвать функцию Unfreeze предка. При этом не надо забывать, что ваша функция Unfreeze может быть вызвана несколько раз и перед разморозкой проверять значение возвращаемое функцией Frozen.

Описание

function Unfreeze : word;

Возвращаемое значение

Код ошибки (константы с префиксом ts). Это могут быть как ошибки драйвера доступа к БД, так и ошибки логической таблицы.

Примечание

Функция не выбрасывает исключений.

Версия : Атлантис 5.0.02.