<fn ... />

Функция.


Атрибуты

Основные атрибуты (R/W):

Название Тип Описание
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>), запущенных по таймеру или в отдельном потоке.

Событийные атрибуты(R/W):

Название Тип Описание
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>    
 
tags/fn.txt · Последние изменения: 29/10/2020 16:32 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS