Инструменты пользователя

Инструменты сайта


app

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
app [2025/10/03 12:48]
root [Вызов функции из скриптов DevelSCADA]
app [2025/10/09 09:23] (текущий)
root
Строка 130: Строка 130:
 </wrap> </wrap>
 \\ \\
-В функция **main** при запуске передается аргумент **ctx**, содержащий в себе набор объектов, посредством которых можно в дальнейшем взаимодействовать с ядром системы и другими приложениями. В начале функции из нее выбираются наиболее часто используемые объекты, и сохраняются в глобальной области видимости, для удобства дальнейшей работы с ними. В частности это:+В функцию **main** при запуске передается аргумент **ctx**, содержащий в себе набор объектов, посредством которых можно в дальнейшем взаимодействовать с ядром системы и другими приложениями. В начале функции из нее выбираются наиболее часто используемые объекты, и сохраняются в глобальной области видимости, для удобства дальнейшей работы с ними. В частности это:
 \\ \\
 <wrap ks> <wrap ks>
Строка 345: Строка 345:
 </wrap> </wrap>
 <wrap ks> <wrap ks>
-В приложении создадим приложение со следующим кодом:+Код приложения:
 </wrap> </wrap>
  
Строка 359: Строка 359:
     module.paths.push(ctx.modPath);     module.paths.push(ctx.modPath);
          
-    rpc.regFunc('myFunc', (a, b) => { +    rpc.regFunc('myFunc', () => { 
-     return a + b;+        const { exec } = require('node:child_process'); 
 +        exec('notepad');
     });     });
 } }
Строка 377: Строка 378:
 </code> </code>
 <wrap ks> <wrap ks>
-В данном приложении мы создали единственную функцию **myFunc**, которая возвращает результат сумму своих аргументов. Запустим это приложение в диспетчере приложений.+В данном приложении мы создали единственную функцию **myFunc**, которая будет из операционной системы запускать блокнот. Запустим это приложение в диспетчере приложений.
 </wrap> </wrap>
 +
 +{{ ::app5.png?nolink |}}
 +
 +<wrap ks>
 +Далее в редакторе проектов создадим новый проект, на экране разместим кнопку, и в событии кнопки "Нажатие", выберем действие "Скрипт".
 +</wrap>
 +
 +{{ ::app11.png?nolink |}}
 +
 +{{ ::app12.png?nolink |}}
 +
 +<wrap ks>
 +Далее напишем следующий код скрипта:
 +</wrap>
 +
 +<code javascript>
 +async function main(val) {
 +    await ds.rpcCall('myapp.myFunc');
 +}
 +</code>
 +
 +<wrap ks>
 +Данный код должен будет вызвать **myFunc** из приложения **myapp**. Запустим проект на исполнение и нажмем кнопку. В результате должен будет открыться блокнот.
 +</wrap>
 +
 +{{ ::app13.png?nolink |}}
  
app.1759484899.txt.gz · Последнее изменение: 2025/10/03 12:48 — root