Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
app [2025/10/03 12:39] root [Создания интерфейса функции] |
app [2025/10/09 09:23] (текущий) root |
||
|---|---|---|---|
| Строка 130: | Строка 130: | ||
| </ | </ | ||
| \\ | \\ | ||
| - | В функция **main** при запуске передается аргумент **ctx**, содержащий в себе набор объектов, | + | В функцию **main** при запуске передается аргумент **ctx**, содержащий в себе набор объектов, |
| \\ | \\ | ||
| <wrap ks> | <wrap ks> | ||
| Строка 339: | Строка 339: | ||
| {{ :: | {{ :: | ||
| + | |||
| + | ====== Вызов функции из скриптов DevelSCADA ====== | ||
| + | <wrap ks> | ||
| + | Помимо взаимодействия между приложениями, | ||
| + | </ | ||
| + | <wrap ks> | ||
| + | Код приложения: | ||
| + | </ | ||
| + | |||
| + | <code javascript> | ||
| + | 'use strict'; | ||
| + | |||
| + | let logCtx = null, log = null; | ||
| + | let rpc = null, cfg = null; | ||
| + | |||
| + | async function main(ctx) { | ||
| + | ({ logCtx, rpc, cfg } = ctx); | ||
| + | ({ log } = logCtx); | ||
| + | module.paths.push(ctx.modPath); | ||
| + | | ||
| + | rpc.regFunc(' | ||
| + | const { exec } = require(' | ||
| + | exec(' | ||
| + | }); | ||
| + | } | ||
| + | |||
| + | exports.main = main; | ||
| + | |||
| + | exports.about = { | ||
| + | mark: ' | ||
| + | descr: ' | ||
| + | isSingle: true, | ||
| + | isGui: false, | ||
| + | isPm: false, | ||
| + | order: 1000, | ||
| + | depend: [] | ||
| + | }; | ||
| + | </ | ||
| + | <wrap ks> | ||
| + | В данном приложении мы создали единственную функцию **myFunc**, которая будет из операционной системы запускать блокнот. Запустим это приложение в диспетчере приложений. | ||
| + | </ | ||
| + | |||
| + | {{ :: | ||
| + | |||
| + | <wrap ks> | ||
| + | Далее в редакторе проектов создадим новый проект, | ||
| + | </ | ||
| + | |||
| + | {{ :: | ||
| + | |||
| + | {{ :: | ||
| + | |||
| + | <wrap ks> | ||
| + | Далее напишем следующий код скрипта: | ||
| + | </ | ||
| + | |||
| + | <code javascript> | ||
| + | async function main(val) { | ||
| + | await ds.rpcCall(' | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <wrap ks> | ||
| + | Данный код должен будет вызвать **myFunc** из приложения **myapp**. Запустим проект на исполнение и нажмем кнопку. В результате должен будет открыться блокнот. | ||
| + | </ | ||
| + | |||
| + | {{ :: | ||