Difference between revisions of "Form.Destroy"

From SunFlurry wiki
Jump to: navigation, search
m (1 revision imported)
m (1 revision imported)
 
(One intermediate revision by one other user not shown)
Line 13: Line 13:
 
* [[Объекты]]
 
* [[Объекты]]
 
* [[Форма]]}}
 
* [[Форма]]}}
Функция выполняет закрытие текущей формы. Если форма имеет флаг изменения, будет задан вопрос о целесообразности закрытия формы без сохранения данных (вопрос можно отключить). Также можно запретить автоматическое сохранение настроек формы, если таковое предусмотрено установками формы. Пользователь может отказать в закрытии формы, либо обработчики событий, типа [[Студия/Визуальные события|''OnClose'']] могут отменить попытку закрытия. В случае, если форму не удалось закрыть, функция возвращает 0, иначе 1. В случае успешного выполнения функции, форма не будет закрыта до тех пор, пока текущий код не закончит исполнение, так как внутри кода могут быть другие вызовы к элементам и свойствам формы. Если код не возвращает управление слишком долгое время, система производит отмены закрытия формы, форма закрыта не будет. Из-за такого механизма защиты, рекомендуется после вызова функции закрытия сразу же выйти из исполняемого модуля. В отличии от функции [[Form.Close|Close]], данная функция также переносит все простые дочерние формы (таблицы, текстовые формы и пр.) в подчинение родительской формы, если таковая существует. Это позволяет закрыть модальный модуль текущей формы и перейти к исполнению формы-родителя. См. описание [[Форма]].
+
Функция выполняет закрытие текущей формы. Если форма имеет флаг изменения, будет задан вопрос о целесообразности закрытия формы без сохранения данных (вопрос можно отключить). Также можно запретить автоматическое сохранение настроек формы, если таковое предусмотрено установками формы. Пользователь может отказать в закрытии формы, либо обработчики событий, типа [[Студия/Визуальные события|''OnClose'']] могут отменить попытку закрытия. В случае, если форму не удалось закрыть, функция возвращает 0, иначе 1. В случае успешного выполнения функции, форма не будет закрыта до тех пор, пока текущий код не закончит исполнение, так как внутри кода могут быть другие вызовы к элементам и свойствам формы. Если код не возвращает управление слишком долгое время, система производит отмену закрытия формы, форма закрыта не будет. Из-за такого механизма защиты, рекомендуется после вызова функции закрытия сразу же выйти из исполняемого модуля. В отличии от функции [[Form.Close|Close]], данная функция также переносит все простые дочерние формы (таблицы, текстовые формы и пр.) в подчинение родительской формы, если таковая существует. Это позволяет закрыть модальный модуль текущей формы и перейти к исполнению формы-родителя. См. описание [[Форма]].
  
 
== Синтаксис ==
 
== Синтаксис ==
Line 21: Line 21:
  
 
==== Аргументы ====
 
==== Аргументы ====
* <code>''<Задавать вопрос о сохранении данных (INT)>''</code> - {{Optional}} По умолчанию (1), если форма имеет флаг изменения, пользователю будет задан вопрос о целесообразности закрытия формы без ее сохранения. Если задать этот параметр, как 1, вопрос задан не будет, и форма возможные изменения будут утеряны.
+
* <code>''<Задавать вопрос о сохранении данных (INT)>''</code> - {{Optional}} По умолчанию (1), если форма имеет флаг изменения, пользователю будет задан вопрос о целесообразности закрытия формы без ее сохранения. Если задать этот параметр как 0, вопрос задан не будет, и возможные изменения на форме будут утеряны.
 
* <code>''<Запретить автоматическое сохранение настроек формы (INT)>''</code> - {{Optional}} Аргумент может запретить автоматическое сохранение настроек формы во время ее закрытия, по умолчанию (0), однако, это сохранение разрешено, если установки формы его позволяют.
 
* <code>''<Запретить автоматическое сохранение настроек формы (INT)>''</code> - {{Optional}} Аргумент может запретить автоматическое сохранение настроек формы во время ее закрытия, по умолчанию (0), однако, это сохранение разрешено, если установки формы его позволяют.
  

Latest revision as of 16:17, 16 April 2021

  Close (Закрытие формы)
Объект:Форма
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число
Визуальность:Да

Функция выполняет закрытие текущей формы. Если форма имеет флаг изменения, будет задан вопрос о целесообразности закрытия формы без сохранения данных (вопрос можно отключить). Также можно запретить автоматическое сохранение настроек формы, если таковое предусмотрено установками формы. Пользователь может отказать в закрытии формы, либо обработчики событий, типа OnClose могут отменить попытку закрытия. В случае, если форму не удалось закрыть, функция возвращает 0, иначе 1. В случае успешного выполнения функции, форма не будет закрыта до тех пор, пока текущий код не закончит исполнение, так как внутри кода могут быть другие вызовы к элементам и свойствам формы. Если код не возвращает управление слишком долгое время, система производит отмену закрытия формы, форма закрыта не будет. Из-за такого механизма защиты, рекомендуется после вызова функции закрытия сразу же выйти из исполняемого модуля. В отличии от функции Close, данная функция также переносит все простые дочерние формы (таблицы, текстовые формы и пр.) в подчинение родительской формы, если таковая существует. Это позволяет закрыть модальный модуль текущей формы и перейти к исполнению формы-родителя. См. описание Форма.

Синтаксис

Form.Destroy(<Задавать вопрос о сохранении данных (INT)>=1,<Запретить автоматическое сохранение настроек формы (INT)>=0):<Закрытие разрешено, форма закрывается (INT)>

Аргументы

  • <Задавать вопрос о сохранении данных (INT)> - (необязательный аргумент) По умолчанию (1), если форма имеет флаг изменения, пользователю будет задан вопрос о целесообразности закрытия формы без ее сохранения. Если задать этот параметр как 0, вопрос задан не будет, и возможные изменения на форме будут утеряны.
  • <Запретить автоматическое сохранение настроек формы (INT)> - (необязательный аргумент) Аргумент может запретить автоматическое сохранение настроек формы во время ее закрытия, по умолчанию (0), однако, это сохранение разрешено, если установки формы его позволяют.

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

Возвращает 1, если форма будет закрыта, иначе возвращает 0 (к примеру, пользователь отказался от закрытия формы).

Примеры

//Пример фрагмента модуля печатной формы, имеющей визуальную форму. После нажатия "Печать", форма создает электронную таблицу
//  и закрывает визуальную форму с тем, чтобы полностью вернуть управление вызвавшей форме (к примеру, документу)
Function OnExecute()
  ВыполнитьПечать();
  Form.Destroy(0);
EndFunction