FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Вторник, 27.06.2017, 20:29
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Как уменьшить количество переменных в ПБ?
Как уменьшить количество переменных в ПБ?
igee Дата: Пятница, 10.03.2017, 10:41 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 0
Статус: Offline
Всем привет.
    При создании пользовательских блоков, мы добавляем входы и выходы, чтобы связать, переменные, объявленные в проекте с теми, которые используем внутри блоков. Задумал я написать блок инициализации переменных с карты памяти при включении контроллера. Мне надо подгрузить около 30 переменных. Получается, чтобы передать их из пользовательскго блока , мне надо создать 30 "холостых" переменных, которые бы просто связывали функционал блока с проектом. Это не есть хорошо и в отдельных случаях может довести объем памяти, занимаемый переменными,  до критической массы.
    Отсюда логичный вопрос: как избавиться от "холостых" переменных? Я бы сказал, что если бы в настройках проекта была галочка "Сохранять имена переменных при компиляции", то она бы проблему решила. Но сейчас такого нет и я в раздумьях.


Сообщение отредактировал igee - Пятница, 10.03.2017, 10:53
 
support Дата: Пятница, 10.03.2017, 12:01 | Сообщение # 2
Автор программы
Группа: Администраторы
Сообщений: 858
Награды: 40
Репутация: 26
Статус: Offline
Цитата igee ()
Я бы сказал, что если бы в настройках проекта была галочка "Сохранять
имена переменных при компиляции", то она бы проблему решила.
Тут всё не так просто.
Во первых откуда мы знаем что на входе будет переменная? Например в случае использования блока сравнения передача передача значения в блок через вход будет выглядеть так

Код
ИмяСтуктурыБлока.ИмяВхода=(переменная1<переменной2);

ну и вторая сложность - блоки компилируются в функцию, которой передаётся инстанс структуры привязанный к конкретному блоку. Названия переменных (входы, выходы переменные внутри блока) описанны в структуре. так что использовать переменные проекта нельзя.


Разработчик программы FLProg
 
igee Дата: Пятница, 10.03.2017, 12:57 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 0
Статус: Offline
Если блок - это функция, можно ведь добавить разновидность пользовательских блоков CODE для работы именно с переменными проекта. В качестве аргументов использовать ссылки, с которыми будем работать в теле функции, а результатом выполнения функции как раз будет изменение переменных проекта.  

Код
void user_block(int &project_var) 

project_var++;

...
int counter= 5; // переменная проекта
user_block (counter);// counter равен 6
 
Форум » Основной » Спросить у знатоков » Как уменьшить количество переменных в ПБ?
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика