Функция.
Название | Тип | Описание |
---|---|---|
id | id_name | Уникальный, в рамках приложения, идентификатор объекта. Доступ к объекту с помощью AppScript выполняется через этот идентификатор. Если id не задан, то интерпретатор автоматически заполнит его некоторым случайным в момент запуска приложения. В этом случае appxml-программист лишается возможности обращаться к объекту. |
args | string | Список имен переменных, принимающих передаваемые аргументы и разделенных запятой. |
execute | boolean | Возвращает true, если функция в данный момент выполняется. |
source | @source | |
timer | boolean | Запуск/остановка генерации события по таймеру. По умолчанию, false. Чтобы запустить выполнение по таймеру, необходимо динамически выполнить установку для функции атрибута timer=«true». |
timer-timeout | number | Период генерации события в милисекундах. По умолчанию, 60000 (1 минута). |
timer-init-timeout | number | Первичная задержка при запуске таймера. По умолчанию, 0. |
timer-bind | minute | hour | none | Выравнивание запуска функции по началу минуты или часа (т.е. после задания fn_id.timer=true интерпретатор подождет начало заданного временного интервала и после этого повесит функцию на таймер). |
threaded | boolean | Запуск данной функции в отдельном потоке. Подразумевается, что в этом случае возвращаемый результат нас не интересует. |
synchronized | boolean | Гарантированное выполнение одного вызова данной функции в один момент времени. Подразумевается, что при многопоточной работе и множестенных вызовах функции будет выполнена синхронизация последовательности выполнения этих вызовов. |
gui | boolean | поддержка корректного обращения к визуальным элементам GUI из функций (<fn>), запущенных по таймеру или в отдельном потоке. |
Название | Тип | Описание |
---|---|---|
onBeforeAction | code | Если возвращает false, то функция не выполняется. Правила описания см. (Описание событий в ApplicationXML). |
onAferAction | code | Выполняется только после успешного выполнения функции. Правила описания см. (Описание событий в ApplicationXML). |
onCreated | code | Выполняется только при создании объекта. Правила описания см. (Описание событий в ApplicationXML). |
В AppXML поддерживаются поименованные самостоятельные блоки кода, называемые функции. Если return отсутствует, то функция вернет последнее вычисленное значение.
waitForAll() - ожидание окончания работы всех запущенных экземпляров данной appxml-функции. Используется при многопоточном программировании.
getRunning() - возвращает кол-во работающих на текущий момент экземпляров данной appxml-функции. Используется при многопоточном программировании.
Вызов функции в событии onaction кнопки. Функция должна быть описана в секци .
<button text="Применить"> <onaction> msg('Сумма 10 + 20 = ' + func_sum(10, 20)); </onaction> </button> <common> <fn id="func_sum" args="value_1, value_2"> <![CDATA[ var res = 0; res = value_1 + value_2; return res; ]]> </fn> </common>