По наркомански немного подошел ты к решению данной задачи. Если тебе просто картинку надо выбрать в основном проекте, то я бы просто сделал graphic list. Внутри фейсплейтов вроде их ещё не завезли, зато есть expressions. Вот примерно как у меня на пике, к свойству graphic указываешь что оно меняется по экспрешену, а потом указываешь нужное условие и что ему должно соотвествовать. И по поводу работоспосбности скриптов. Во-первых надо использовать инструмент для отладки RTILtraceViewer , там бы ты сразу увидел, что у тебя скрипт и не вызывается, т.к. его нет. Во-вторых используя HMIRuntime.Trace() в качестве выплевывания логов в консоль. В-третьих обвязывай в try - catch, где в catch выводишь возможные ошибки. Мои catch выглядят примерно так
try {///тело функции}
catch (e) {
HMIRuntime.Trace("errors" + e);
let res = e.Results;
for (let statement in res) {
let errors = res[statement].Errors;
for (let i in errors) {
let detailed = errors[i];
HMIRuntime.Trace("Errors state : " + detailed.State);
HMIRuntime.Trace("Errors Message : " + detailed.Message);
}
}
}
Комментарии: 10
Toxic
с юнифайд не работал, но то, что вы написали на C не похоже.
Iiy
Я уже разобрался. Unified работает на JS а не на С. Оказывается для того чтобы вызвать функцию её нужно подключить, сейчас покажу
Toxic
1. если написать не export function, a string и вместо var написать char*
Iiy
Вот сама функция
Gabrrr
По наркомански немного подошел ты к решению данной задачи. Если тебе просто картинку надо выбрать в основном проекте, то я бы просто сделал graphic list. Внутри фейсплейтов вроде их ещё не завезли, зато есть expressions. Вот примерно как у меня на пике, к свойству graphic указываешь что оно меняется по экспрешену, а потом указываешь нужное условие и что ему должно соотвествовать. И по поводу работоспосбности скриптов. Во-первых надо использовать инструмент для отладки RTILtraceViewer , там бы ты сразу увидел, что у тебя скрипт и не вызывается, т.к. его нет. Во-вторых используя HMIRuntime.Trace() в качестве выплевывания логов в консоль. В-третьих обвязывай в try - catch, где в catch выводишь возможные ошибки. Мои catch выглядят примерно так try {///тело функции} catch (e) { HMIRuntime.Trace("errors" + e); let res = e.Results; for (let statement in res) { let errors = res[statement].Errors; for (let i in errors) { let detailed = errors[i]; HMIRuntime.Trace("Errors state : " + detailed.State); HMIRuntime.Trace("Errors Message : " + detailed.Message); } } }