PDA

Просмотр полной версии : СП300 Ошибка при объявлении переменной в глобальном макросе



Stab
18.11.2016, 14:25
Добрый день!

Завел две функциональные кнопки для перелистывания экранов (влево и вправо). Создал макросы RightSwitchScreen и LeftSwitchScreen

Текст макроса RightSwitchScreen :

if(++CurrentScreen>ScreenCount) CurrentScreen=1;
ScreenJump(CurrentScreen);

Текст макроса LeftSwitchScreen :

if(--CurrentScreen < 1) CurrentScreen = ScreenCount;
ScreenJump(CurrentScreen);

В глобальном макросе объявил эти переменные с присвоением начальных значений

WORD CurrentScreen = 1;
WORD ScreenCount = 3;

Назначил вызовы макросов функциональным кнопкам (влево / вправо соответственно)
Компиляция проходит без ошибок, однако при попытке загрузить проект в панель вываливается сообщение об ошибке
27673
И на панели висит окно "Загрузка"
Методом проб выяснил, что дело в присвоении начальных значений. Если в глобальном макросе оставить только объявление переменных, а присвоение значений убрать и присваивать в другом макросе, то все работает. Пришлось создать еще один макрос для присвоения начальных значений и запускать его при включении панели.

В документации на панель, в разделе макросов ничего не сказано про ограничения глобального макроса (тем более компиляция проходит). Кто нибудь сталкивался с таким? Просветите кто в курсе.

Евгений Кислов
18.11.2016, 14:47
Переменным, объявленным в глобальном макросе, действительно нельзя задавать начальные значения. Соответствующее замечание будет внесено в следующую версию РП.