Хочу сделать константный указатель на данные разных типов:
Код:
VAR_GLOBAL CONSTANT
VAR1: DWORD := 100;
Ptr1: POINTER TO DWORD := ADR( VAR1);
Ptr2: POINTER TO DWORD := ADR( VAR2);
Ptr3: POINTER TO DWORD := ADR( VAR3);
END_VAR
VAR_GLOBAL RETAIN
VAR2: DWORD := 1;
END_VAR
VAR_GLOBAL
VAR3: DWORD := 1;
END_VAR
То есть, пойнтеры 1, 2 и 3 указывают на данные типа CONSTANT, RETAIN и обычные переменные. И эти пойнтеры по смыслу никогда не изменяются, т.е. представляют сами по себе данные типа CONSTANT.
Как их инициализировать? Компилятор ругается на все три строчки:
Неверное начальное значение
Аналогичное присвоение в программе работает на ура. Ну, там просто функция подставляется ADR() и она все делает чики-пики.
А как же компилятору сказать "адрес переменной VAR1"? Читаю и не нахожу...
Спасибо!