Difference between revisions of "Form.InvokeEventAsync"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:50, 7 February 2021
InvokeEventAsync (Вызов визуального события) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция инициирует выполнение указанного визуального события привязанного либо к визуальному элементу формы (если оный адресуется объектом, к примеру OnInitLine), либо к самой форме (к примеру OnOpen). Разработчик должен указать все переменные, участвующие в событие и задать их значения. Если какая-то из переменных не будет указана, при обращении к ней в момент выполнения события будет вызвано исключение. Событие выполняется в асинхронном режиме (т.е. может быть выполнено только в момент, когда программа ожидает действий пользователя), управление будет возвращено до того, как начнется выполнение события. В отличии от InvokeEvent, данное событие можно использовать чтобы превратить прерывающий вызов (к примеру, OnEnter) или предопределенное событие (к примеру, OnOpen) в асинхронное событие, как будто была нажата кнопка, это дает возможность освободить графический интерфейс, который ожидает окончания прерывающего события. К примеру, если в событии OnOpen вызвать событие формирования отчета с помощью InvokeEventAsync, во время формирования отчета клиент будет работать в обычном режиме, а не "зависнет" в ожидании вывода отчета, как это было бы, если бы из OnOpen вызвать функцию формирования отчета напрямую. Функция применяется к загруженной визуальной форме или ее элементу. Ниже дан краткий список возможных событий (описания и необходимый набор переменных см. в статье Визуальные события):
- События, применяемые к форме: OnOpen, OnClose, OnTimer, OnSaveRequest, OnStatusChange, OnTaskbarMenuClick, OnMessage, OnSaveSettings, OnLoadSettings, OnAfterLoadSettings
- События, применяемые к визуальным элементам формы: OnGetCaption, OnClick, OnDoubleClick, OnRightClick, OnKeyPress, OnChangeOrClick, OnBeforeChange, OnAfterChange, OnBeforeEditLine, OnAfterEditLine, OnBeforeEditCell, OnAfterEditCell, OnBeforeEdit, OnAfterEdit, OnGetLine, OnGetVisualProperties, OnGetCellVisualProperties, OnGetFormNameForOperation, OnChecking, OnMoveToFolder, OnSaveLoadObject, OnSelectionChange, OnAttachedButtons, OnBeforeResize, OnAfterResize, OnEnter, OnExit, OnInitLine, OnShowLine, OnBeforeSelect, OnGetRightClickMenu, OnBeforeEditObject, OnInitCombobox, OnInitLeaf, OnBeforeLoadElements, OnAfterNewElementCreated, OnBeforeElementSaved, OnAfterElementSaved, OnBeforeRefresh, OnAfterFilterChange, OnAfterSorting
Синтаксис
Form.InvokeEventAsync(<Имя события (STRING)>,<Имена переменных, передаваемых событию, через запятые (STRING)>,<Значение переменной 1>,<Значение переменной 2>...)
Аргументы
<Имя события (STRING)>
- Задает наименование события, исполнение которого нужно инициировать. Регистр наименования не имеет значения.<Имена переменных, передаваемых событию, через запятые (STRING)>
- Задает наименования переменных, значения котороых будут переданы в вызываемое событие. Переменные задаются через запятую. Регистр написания наименований не имеет значения.<Значение переменной 1>, <Значение переменной 2>...
- (необязательный аргумент) Задает аргументы, значениями которых будут заполнены переменные при вызове события.
Примеры
//Вызов асинхронного события, нажатия на кнопку формирования отчета из визуального события OnOpen Form.bExecute.InvokeEventAsync("OnClick");